Зарегистрируйте неиерархическую таксономию и поле показать мета в типе записи
Я пытаюсь показать мета-поле в моем типе публикации продукта, но я получаю это предупреждение об ошибке...
Ошибка предупреждения...
Предупреждение: call_user_func() ожидает, что параметр 1 будет допустимым обратным вызовом, без массива или строки, указанных в /home/.../wp/wp-admin/includes/template.php в режиме онлайн 1073
Смотрите мой код таксономии реестра ниже...
class Types {
/**
* Method to run on WordPress initialisation
*
* @uses init action
* @see https://codex.wordpress.org/Plugin_API/Action_Reference/init
*/
public function action_init () {
$this->register_taxonomies();
}
/**
* Registers Taxonomies
*
* @see https://codex.wordpress.org/Function_Reference/register_taxonomy
* @return void
*/
protected function register_taxonomies () {
// product tag taxonomy
$labels = array(
'name' => _x( 'Tags', 'taxonomy general name' ),
'singular_name' => _x( 'Tag', 'taxonomy singular name' ),
'search_items' => __( 'Search tags' ),
'popular_items' => __( 'Popular tags' ),
'all_items' => __( 'All tags' ),
'parent_item' => null,
'parent_item_colon' => null,
'edit_item' => __( 'Edit category' ),
'update_item' => __( 'Update category' ),
'add_new_item' => __( 'Add new category' ),
'new_item_name' => __( 'New category name' ),
'separate_items_with_commas' => __( 'Separate tags with commas' ),
'add_or_remove_items' => __( 'Add or remove tags' ),
'choose_from_most_used' => __( 'Choose from the most used tags' ),
'not_found' => __( 'No tags found.' ),
'menu_name' => __( 'Tags' ),
);
$args = array(
'hierarchical' => false,
'labels' => $labels,
'show_ui' => true,
'show_admin_column' => true,
'update_count_callback' => '_update_post_term_count',
'query_var' => true,
'rewrite' => array( 'slug' => 'tags' ),
'meta_box_cb' => true
);
register_taxonomy('product_tags', array('product'), $args );
}
} new Types();
На боковой панели панели мониторинга все работает нормально, это просто сообщение о продукте метабокс получает эту ошибку.
У кого-нибудь раньше была такая проблема?
Спасибо Джош
1 answers
Ожидается, что аргумент meta_box_cb
будет функцией обратного вызова. Поэтому он должен быть вызываемым.
Как предложил Майло в своем комментарии, попробуйте оставить этот аргумент в стороне, тогда будет использоваться функция по умолчанию для содержимого метабокса. Вам нужно только добавить собственную функцию метабокса, если вы действительно хотите настроить вывод метабокса.
$args = array(
'hierarchical' => false,
'labels' => $labels,
'show_ui' => true,
'show_admin_column' => true,
'update_count_callback' => '_update_post_term_count',
'query_var' => true,
'rewrite' => array( 'slug' => 'tags' ),
);
Как описано в справочнике по коду , post_tags_meta_box
является значением по умолчанию для неиерархических таксономий. Значение по умолчанию равно используется, если аргумент оставлен в стороне. Поскольку это явно упоминается как необязательное, совершенно нормально просто оставить его.