请帮帮我!我有自定义帖子类型“gallery”。在我的自定义帖子类型中,我有自定义字段。我通过文件函数添加了它们。php。如何使用户能够通过“颜色”字段的管理面板添加值(http://prntscr.com/7svcck), 没有进入函数。phpTo允许用户添加颜色并在颜色下拉列表中查看(参见屏幕)。
函数中的我的代码。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\');