0

please help me! I have custom posts type 'gallery'. In my custom post type i have custom fields. I added them through the file functions.php. How to enable the user to add value through the admin panel for the field 'цвет'(colors)(http://prntscr.com/7svcck), without going into the functions.php To allow users to add color and see it in the drop-down list of colors(see screen).

My code in functions.php

if ( ! function_exists( 'bazar_tax' ) ) {

    function bazar_tax() {

        $labels = array(
            'name'                       => _x( 'Категории базарчика', 'Taxonomy General Name', 'bazar' ),
            'singular_name'              => _x( 'Категория базарчик', 'Taxonomy Singular Name', 'bazar' ),
            'menu_name'                  => __( 'Категории', 'bazar' ),
            'all_items'                  => __( 'Категории', 'bazar' ),
            'parent_item'                => __( 'Родительская категория Базарчик', 'bazar' ),
            'parent_item_colon'          => __( 'Родительская категория Базарчик:', 'bazar' ),
            'new_item_name'              => __( 'Новая категория', 'bazar' ),
            'add_new_item'               => __( 'Добавить новую категорию', 'bazar' ),
            'edit_item'                  => __( 'Редактировать категорию', 'bazar' ),
            'update_item'                => __( 'Обновить категорию', 'bazar' ),
            'search_items'               => __( 'Найти', 'bazar' ),
            'add_or_remove_items'        => __( 'Добавить или удалить категорию', 'bazar' ),
            'choose_from_most_used'      => __( 'Поиск среди популярных', 'bazar' ),
            'not_found'                  => __( 'Не найдено', 'bazar' ),
        );
        $args = array(
            'labels'                     => $labels,
            'hierarchical'               => true,
            'public'                     => true,
        );
        register_taxonomy( 'bazar_tax', array( 'bazar' ), $args );

    }

    add_action( 'init', 'bazar_tax', 0 ); 

}


function my_meta_box() {  
    add_meta_box(  
        'my_meta_box', 
        'Дополнительная информация', 
        'show_my_metabox', 
        'bazar',
        'normal',
        'high');
}  
add_action('add_meta_boxes', 'my_meta_box'); 
$meta_fields1 = array(  
    array(  
        'label' => 'Размер',  
        'desc'  => 'Пример: 25х25',  
        'id'    => 'razmer', // даем идентификатор.
        'type'  => 'text'  // Указываем тип поля.
    ),  
    array(  
        'label' => 'Номер партии',  
        'desc'  => '',  
        'id'    => 'nomer',  // даем идентификатор.
        'type'  => 'text'  // Указываем тип поля.
    ),  
    array(  
        'label' => 'Город продавца',  
        'desc'  => '',  
        'id'    => 'gorod',  // даем идентификатор.
        'type'  => 'text'  // Указываем тип поля.
    ),
    array(  
        'label' => 'Имя продавца',  
        'desc'  => '',  
        'id'    => 'name',  // даем идентификатор.
        'type'  => 'text'  // Указываем тип поля.
    ),
    array(  
        'label' => 'Телефон продавца',  
        'desc'  => '',  
        'id'    => 'telephone',  // даем идентификатор.
        'type'  => 'text'  // Указываем тип поля.
    ),    
    array(  
        'label' => 'Цвет',  
        'desc'  => 'Цвет',  
        'id'    => 'cvet',  
        'type'  => 'select',  
        'options' => array (  // Параметры, всплывающие данные
            'one' => array (  
                'label' => 'Aspen Brown AB632',  // Название поля
                'value' => 'Aspen Brown AB632'  // Значение
            ),  
            'two' => array (  
                'label' => 'Aspen Fiesta AF611',  // Название поля
                'value' => 'Aspen Fiesta AF611'  // Значение
            ),  
            'three' => array (  
                'label' => 'Aspen Glacier AG612',  // Название поля
                'value' => 'Aspen Glacier AG612'  // Значение
            ),
            'four' => array (  
                'label' => 'Aspen Lava AL650',  // Название поля
                'value' => 'Aspen Lava AL650'  // Значение
            ),
            'five' => array (  
                'label' => 'Aspen Mine AM633',  // Название поля
                'value' => 'Aspen Mine AM633'  // Значение
            ),
            'six' => array (  
                'label' => 'Aspen PEPPER AP640',  // Название поля
                'value' => 'Aspen PEPPER AP640'  // Значение
            ),
            'seven' => array (  
                'label' => 'Aspen Seashell AS642',  // Название поля
                'value' => 'Aspen Seashell AS642'  // Значение
            ),
            'eight' => array (  
                'label' => 'Aspen Sky AS670',  // Название поля
                'value' => 'Aspen Sky AS670'  // Значение
            ),
            'ten' => array (  
                'label' => 'Aspen Snow AS610',  // Название поля
                'value' => 'Aspen Snow AS610'  // Значение
            ),
            'eleven' => array (  
                'label' => 'Metallic Beach EB545',  // Название поля
                'value' => 'Metallic Beach EB545'  // Значение
            ),
            'twelve' => array (  
                'label' => 'Metallic Cosmos EC 596',  // Название поля
                'value' => 'Metallic Cosmos EC 596'  // Значение
            ),
            'thirteen' => array (  
                'label' => 'Metallic Galaxy EG595',  // Название поля
                'value' => 'Metallic Galaxy EG595'  // Значение
            ),
            'fourteen' => array (  
                'label' => 'Metallic Sunray ES557',  // Название поля
                'value' => 'Metallic Sunray ES557'  // Значение
            ),
            'fifteen' => array (  
                'label' => 'Metallic  Satingold ES558',  // Название поля
                'value' => 'Metallic  Satingold ES558'  // Значение
            ),
            'sixteen' => array (  
                'label' => 'Metallic Sleeksilver ES581',  // Название поля
                'value' => 'Metallic Sleeksilver ES581'  // Значение
            ),
            'seventeen' => array (  
                'label' => 'Metallic Yukon EY510',  // Название поля
                'value' => 'Metallic Yukon EY510'  // Значение
            ),
            'eighteen' => array (  
                'label' => 'Mosaic Dalmatin QD212',  // Название поля
                'value' => 'Mosaic Dalmatin QD212'  // Значение
            ),
            'nineteen' => array (  
                'label' => 'Mosaic Nimbus QN287',  // Название поля
                'value' => 'Mosaic Nimbus QN287'  // Значение
            ),
            'twenty' => array (  
                'label' => 'Mosaic Black Bean QB299',  // Название поля
                'value' => 'Mosaic Black Bean QB299'  // Значение
            ),
            'twenty-one' => array (  
                'label' => 'Pebble Aqua PA860',  // Название поля
                'value' => 'Pebble Aqua PA860'  // Значение
            ),
            'twenty-two' => array (  
                'label' => 'Pebble Blue PB870',  // Название поля
                'value' => 'Pebble Blue PB870'  // Значение
            ),
            'twenty-three' => array (  
                'label' => 'Pebble Cliffside PC 895',  // Название поля
                'value' => 'Pebble Cliffside PC 895'  // Значение
            ),
            'twenty-four' => array (  
                'label' => 'Pebble CONFETTI PC880',  // Название поля
                'value' => 'Pebble CONFETTI PC880'  // Значение
            ),
            'twenty-five' => array (  
                'label' => 'Pebble Copper PC851',  // Название поля
                'value' => 'Pebble Copper PC851'  // Значение
            ),
            'twenty-six' => array (  
                'label' => 'Pebble Ebony PE814',  // Название поля
                'value' => 'Pebble Ebony PE814'  // Значение
            ),
            'twenty-seven' => array (  
                'label' => 'Pebble Frost PF812',  // Название поля
                'value' => 'Pebble Frost PF812'  // Значение
            ),
            'twenty-eight' => array (  
                'label' => 'Pebble Gold PG840',  // Название поля
                'value' => 'Pebble Gold PG840'  // Значение
            ),
            'twenty-nine' => array (  
                'label' => 'Pebble Grey PG810',  // Название поля
                'value' => 'Pebble Grey PG810'  // Значение
            ),
            'thirty' => array (  
                'label' => 'Pebble Ice PI 811',  // Название поля
                'value' => 'Pebble Ice PI 811'  // Значение
            ),
            'thirty-one' => array (  
                'label' => 'Pebble Kernel PK843',  // Название поля
                'value' => 'Pebble Kernel PK843'  // Значение
            ),
            'thirty-two' => array (  
                'label' => 'Pebble Limestone PL848',  // Название поля
                'value' => 'Pebble Limestone PL848'  // Значение
            ),
            'thirty-three' => array (  
                'label' => 'Pebble Ponderosa PP868',  // Название поля
                'value' => 'Pebble Ponderosa PP868'  // Значение
            ),
            'thirty-four' => array (  
                'label' => 'Pebble ROSE PR850',  // Название поля
                'value' => 'Pebble ROSE PR850'  // Значение
            ),
            'thirty-five' => array (  
                'label' => 'Pebble Saratoga PS820',  // Название поля
                'value' => 'Pebble Saratoga PS820'  // Значение
            ),
            'thirty-six' => array (  
                'label' => 'Pebble Swan PS813',  // Название поля
                'value' => 'Pebble Swan PS813'  // Значение
            ),
            'thirty-seven' => array (  
                'label' => 'Pebble Terrain PT857',  // Название поля
                'value' => 'Pebble Terrain PT857'  // Значение
            ),
            'thirty-eight' => array (  
                'label' => 'Quarry Mesa QM242',  // Название поля
                'value' => 'Quarry Mesa QM242'  // Значение
            ),
            'thirty-nine' => array (  
                'label' => 'Quarry Esker QE240',  // Название поля
                'value' => 'Quarry Esker QE240'  // Значение
            ),
            'forty' => array (  
                'label' => 'Quarry Oyster TO310',  // Название поля
                'value' => 'Quarry Oyster TO310'  // Значение
            ),
            'forty-one' => array (  
                'label' => 'Sanded Blush SB452',  // Название поля
                'value' => 'Sanded Blush SB452'  // Значение
            ),
            'forty-two' => array (  
                'label' => 'Sanded Birch SB412',  // Название поля
                'value' => 'Sanded Birch SB412'  // Значение
            ),
            'forty-three' => array (  
                'label' => 'Sanded Cornmeal SC433',  // Название поля
                'value' => 'Sanded Cornmeal SC433'  // Значение
            ),
            'forty-four' => array (  
                'label' => 'Sanded Chesnut SC457',  // Название поля
                'value' => 'Sanded Chesnut SC457'  // Значение
            ),
            'forty-five' => array (  
                'label' => 'Sanded Cream SM421',  // Название поля
                'value' => 'Sanded Cream SM421'  // Значение
            ),
            'forty-six' => array (  
                'label' => 'Sanded Dark Nebula DN421',  // Название поля
                'value' => 'Sanded Dark Nebula DN421'  // Значение
            ),
            'forty-seven' => array (  
                'label' => 'Sanded Gold Dust SG441',  // Название поля
                'value' => 'Sanded Gold Dust SG441'  // Значение
            ),
            'forty-eight' => array (  
                'label' => 'Sanded Grey SG420',  // Название поля
                'value' => 'Sanded Grey SG420'  // Значение
            ),
            'forty-nine' => array (  
                'label' => 'Sanded Icicle SI414',  // Название поля
                'value' => 'Sanded Icicle SI414'  // Значение
            ),
            'fifty' => array (  
                'label' => 'Sanded Kiwi SK432',  // Название поля
                'value' => 'Sanded Kiwi SK432'  // Значение
            ),
            'fifty-one' => array (  
                'label' => 'Sanded Mocha SM453',  // Название поля
                'value' => 'Sanded Mocha SM453'  // Значение
            ),
            'fifty-two' => array (  
                'label' => 'Sanded Oatmeal SO446',  // Название поля
                'value' => 'Sanded Oatmeal SO446'  // Значение
            ),
            'fifty-three' => array (  
                'label' => 'Sanded Onyx SO423',  // Название поля
                'value' => 'Sanded Onyx SO423'  // Значение
            ),
            'fifty-four' => array (  
                'label' => 'Sanded Pine SP462',  // Название поля
                'value' => 'Sanded Pine SP462'  // Значение
            ),
            'fifty-five' => array (  
                'label' => 'Sanded Sahara SS440',  // Название поля
                'value' => 'Sanded Sahara SS440'  // Значение
            ),
            'fifty-six' => array (  
                'label' => 'Sanded Seafoam SS471',  // Название поля
                'value' => 'Sanded Seafoam SS471'  // Значение
            ),
            'fifty-seven' => array (  
                'label' => 'Sanded Sunset SS451',  // Название поля
                'value' => 'Sanded Sunset SS451'  // Значение
            ),
            'fifty-eight' => array (  
                'label' => 'Sanded Stratus SS418',  // Название поля
                'value' => 'Sanded Stratus SS418'  // Значение
            ),
            'sixty' => array (  
                'label' => 'Sanded Vermillion SV430',  // Название поля
                'value' => 'Sanded Vermillion SV430'  // Значение
            ),
            'sixty-one' => array (  
                'label' => 'Sanded White Pepper WP410',  // Название поля
                'value' => 'Sanded White Pepper WP410'  // Значение
            ),
            'sixty-two' => array (  
                'label' => 'Solid  Steel ST023',  // Название поля
                'value' => 'Solid  Steel ST023'  // Значение
            ),
            'sixty-three' => array (  
                'label' => 'Solid Blonde SB043',  // Название поля
                'value' => 'Solid Blonde SB043'  // Значение
            ),
            'sixty-four' => array (  
                'label' => 'Solid Bright White BW010',  // Название поля
                'value' => 'Solid Bright White BW010'  // Значение
            ),
            'sixty-five' => array (  
                'label' => 'Solid Quasar White SQ019',  // Название поля
                'value' => 'Solid Quasar White SQ019'  // Значение
            ),
            'sixty-six' => array (  
                'label' => 'Solid Californiya Poppy SC052',  // Название поля
                'value' => 'Solid Californiya Poppy SC052'  // Значение
            ),
            'sixty-seven' => array (  
                'label' => 'Solid Dazzling White SD001',  // Название поля
                'value' => 'Solid Dazzling White SD001'  // Значение
            ),
            'sixty-eight' => array (  
                'label' => 'Solid Fog SF020',  // Название поля
                'value' => 'Solid Fog SF020'  // Значение
            ),
            'sixty-nine' => array (  
                'label' => 'Solid Iris SI056',  // Название поля
                'value' => 'Solid Iris SI056'  // Значение
            ),
            'seventy' => array (  
                'label' => 'Solid Ivory SI040',  // Название поля
                'value' => 'Solid Ivory SI040'  // Значение
            ),
            'seventy-one' => array (  
                'label' => 'Solid Natural SV041',  // Название поля
                'value' => 'Solid Natural SV041'  // Значение
            ),
            'seventy-two' => array (  
                'label' => 'Solid Onyx ON095',  // Название поля
                'value' => 'Solid Onyx ON095'  // Значение
            ),
            'seventy-three' => array (  
                'label' => 'Solid Pearl SP011',  // Название поля
                'value' => 'Solid Pearl SP011'  // Значение
            ),
            'seventy-four' => array (  
                'label' => 'Solid Pure White SP016',  // Название поля
                'value' => 'Solid Pure White SP016'  // Значение
            ),
            'seventy-five' => array (  
                'label' => 'Solid Sunflower SS042',  // Название поля
                'value' => 'Solid Sunflower SS042'  // Значение
            ),
            'seventy-six' => array (  
                'label' => 'Solid Univers SU053',  // Название поля
                'value' => 'Solid Univers SU053'  // Значение
            ),
            'seventy-seven' => array (  
                'label' => 'Talus Luna TL385',  // Название поля
                'value' => 'Talus Luna TL385'  // Значение
            ),
            'seventy-eight' => array (  
                'label' => 'Tempest Adamantine FA159',  // Название поля
                'value' => 'Tempest Adamantine FA159'  // Значение
            ),
            'seventy-nine' => array (  
                'label' => 'Tempest Blaze FB147',  // Название поля
                'value' => 'Tempest Blaze FB147'  // Значение
            ),
            'eighty-one' => array (  
                'label' => 'Tempest Cinnamon FC153',  // Название поля
                'value' => 'Tempest Cinnamon FC153'  // Значение
            ),
            'eighty-two' => array (  
                'label' => 'Tempest Coffee Bean FC158',  // Название поля
                'value' => 'Tempest Coffee Bean FC158'  // Значение
            ),
            'eighty-three' => array (  
                'label' => 'Tempest Confection FC116',  // Название поля
                'value' => 'Tempest Confection FC116'  // Значение
            ),
            'eighty-four' => array (  
                'label' => 'Tempest Constellation FC197',  // Название поля
                'value' => 'Tempest Constellation FC197'  // Значение
            ),
            'eighty-five' => array (  
                'label' => 'Tempest Genesis FG174',  // Название поля
                'value' => 'Tempest Genesis FG174'  // Значение
            ),
            'eighty-six' => array (  
                'label' => 'Tempest Gleam FG146',  // Название поля
                'value' => 'Tempest Gleam FG146'  // Значение
            ),
            'eighty-seven' => array (  
                'label' => 'Tempest Glimmer FG144',  // Название поля
                'value' => 'Tempest Glimmer FG144'  // Значение
            ),
            'eighty-eight' => array (  
                'label' => 'Tempest Gold Leaf FG196',  // Название поля
                'value' => 'Tempest Gold Leaf FG196'  // Значение
            ),
            'ninety' => array (  
                'label' => 'Tempest Horizon FH114',  // Название поля
                'value' => 'Tempest Horizon FH114'  // Значение
            ),
            'ninety-one' => array (  
                'label' => 'Tempest Igneous FI187',  // Название поля
                'value' => 'Tempest Igneous FI187'  // Значение
            ),
            'ninety-two' => array (  
                'label' => 'Tempest Meteor FM111',  // Название поля
                'value' => 'Tempest Meteor FM111'  // Значение
            ),
            'ninety-three' => array (  
                'label' => 'Tempest Moonlight FM122',  // Название поля
                'value' => 'Tempest Moonlight FM122'  // Значение
            ),
            'ninety-four' => array (  
                'label' => 'Tempest Paprika FP136',  // Название поля
                'value' => 'Tempest Paprika FP136'  // Значение
            ),
            'ninety-five' => array (  
                'label' => 'Tempest Peak FP100',  // Название поля
                'value' => 'Tempest Peak FP100'  // Значение
            ),
            'ninety-six' => array (  
                'label' => 'Tempest Pinnacle FP112',  // Название поля
                'value' => 'Tempest Pinnacle FP112'  // Значение
            ),
            'ninety-seven' => array (  
                'label' => 'Tempest Praire FP142',  // Название поля
                'value' => 'Tempest Praire FP142'  // Значение
            ),
            'ninety-eight' => array (  
                'label' => 'Tempest Rattan FR124',  // Название поля
                'value' => 'Tempest Rattan FR124'  // Значение
            ),
            'ninety-nine' => array (  
                'label' => 'Tempest Rime FR118',  // Название поля
                'value' => 'Tempest Rime FR118'  // Значение
            ),
            'one-hundred' => array (  
                'label' => 'Tempest Shallot FS157',  // Название поля
                'value' => 'Tempest Shallot FS157'  // Значение
            ),
            'one-hundred-and-one' => array (  
                'label' => 'Tempest Shell FS115',  // Название поля
                'value' => 'Tempest Shell FS115'  // Значение
            ), 
            'one-hundred-and-two' => array (  
                'label' => 'Tempest SHIMMER(Radiance) FR148',  // Название поля
                'value' => 'Tempest SHIMMER(Radiance) FR148'  // Значение
            ),
            'one-hundred-and-three' => array (  
                'label' => 'Tempest Spearmint FS164',  // Название поля
                'value' => 'Tempest Spearmint FS164'  // Значение
            ), 
            'one-hundred-and-four' => array (  
                'label' => 'Tempest Spice FS137',  // Название поля
                'value' => 'Tempest Spice FS137'  // Значение
            ), 
            'one-hundred-and-five' => array (  
                'label' => 'Tempest Starfire FS198',  // Название поля
                'value' => 'Tempest Starfire FS198'  // Значение
            ),
            'one-hundred-and-six' => array (  
                'label' => 'Tempest Tektite FT188',  // Название поля
                'value' => 'Tempest Tektite FT188'  // Значение
            ),
            'one-hundred-and-seven' => array (  
                'label' => 'Tempest Twilight FT113',  // Название поля
                'value' => 'Tempest Twilight FT113'  // Значение
            ), 
            'one-hundred-and-eight' => array (  
                'label' => 'Tempest Whippoorwill FW145',  // Название поля
                'value' => 'Tempest Whippoorwill FW145'  // Значение
            ),
            'one-hundred-and-nine' => array (  
                'label' => 'Tempest Zenith FZ184',  // Название поля
                'value' => 'Tempest Zenith FZ184'  // Значение
            ),                                                                 
        )  
    )  
);

function show_my_metabox() {  
global $meta_fields1;
global $post;  
echo '<input type="hidden" name="custom_meta_box_nonce" value="'.wp_create_nonce(basename(__FILE__)).'" />';  


    echo '<table class="form-table">';  
    foreach ($meta_fields1 as $field) {  

        $meta = get_post_meta($post->ID, $field['id'], true);  

        echo '<tr> 
                <th><label for="'.$field['id'].'">'.$field['label'].'</label></th> 
                <td>';  
                switch($field['type']) {  
                    case 'text':  
    echo '<input type="text" name="'.$field['id'].'" id="'.$field['id'].'" value="'.$meta.'" size="30" />
        <br /><span class="description">'.$field['desc'].'</span>';  
break;
case 'textarea':  
    echo '<textarea name="'.$field['id'].'" id="'.$field['id'].'" cols="60" rows="4">'.$meta.'</textarea> 
        <br /><span class="description">'.$field['desc'].'</span>';  
break;
case 'checkbox':  
    echo '<input type="checkbox" name="'.$field['id'].'" id="'.$field['id'].'" ',$meta ? ' checked="checked"' : '','/>
        <label for="'.$field['id'].'">'.$field['desc'].'</label>';  
break;

case 'select':  
    echo '<select name="'.$field['id'].'" id="'.$field['id'].'">';  
    foreach ($field['options'] as $option) {  
        echo '<option', $meta == $option['value'] ? ' selected="selected"' : '', ' value="'.$option['value'].'">'.$option['label'].'</option>';  
    }  
    echo '</select><br /><span class="description">'.$field['desc'].'</span>';  
break;
                }
        echo '</td></tr>';  
    }  
    echo '</table>'; 
}


function save_my_meta_fields($post_id) {  
    global $meta_fields1;  


    if (!wp_verify_nonce($_POST['custom_meta_box_nonce'], basename(__FILE__)))   
        return $post_id;  
    // Проверяем авто-сохранение 
    if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)  
        return $post_id;  
    // Проверяем права доступа  
    if ('page' == $_POST['post_type']) {  
        if (!current_user_can('edit_page', $post_id))  
            return $post_id;  
        } elseif (!current_user_can('edit_post', $post_id)) {  
            return $post_id;  
    }  

    foreach ($meta_fields1 as $field) {  
        $old = get_post_meta($post_id, $field['id'], true); 
        $new = $_POST[$field['id']];  
        if ($new && $new != $old) {  // Если данные новые
            update_post_meta($post_id, $field['id'], $new); 
        } elseif ('' == $new && $old) {  
            delete_post_meta($post_id, $field['id'], $old);
        }  
    } // end foreach  
}  
add_action('save_post', 'save_my_meta_fields'); 
  • functions.php – harley Dec 7 '15 at 6:50
0

Just to check the basics first: have you already gone into 'Screen options' at top right?

After you click that tab, is your custom post type listed there with a checkbox? If not then you know it's something in the code (if it's there unchecked, tick the box and it should appear in edit page).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.