Пользовательские таксономии для пользовательского типа сообщения не отображаются в столбце администратора Wordpress

Я создал настраиваемый тип сообщения под названием protocols и зарегистрировал несколько таксономий для этого настраиваемого типа сообщения, чтобы предоставить заказчику список сообщений с возможностью фильтрации и поиска. По какой-то причине категории таксономии не отображаются в списке сообщений на экране администратора для настраиваемого типа сообщений. снимок экрана здесь: http://demo.agexpressions.com/img/admin-screen.png

Я использовал строку 'show_admin_column' => true при регистрации всех таксономий, но столбцы все еще пусты! Надеюсь, кто-нибудь с проницательным взглядом и большими знаниями, чем я, сможет помочь мне диагностировать эту проблему! Код ниже:

// hook into the init action and call create_protocol_taxonomies when it fires
add_action( 'init', 'create_protocol_taxonomies', 0 );

// create three taxonomies - primary and disease categories, and status for the post type "protocols"

function create_protocol_taxonomies() {
// Add new taxonomy for Primary Category
$primarylabels = array(
    'name'              => _x( 'Primary', 'taxonomy general name' ),
    'singular_name'     => _x( 'Primary', 'taxonomy singular name' ),
    'search_items'      => __( 'Search Primary' ),
    'all_items'         => __( 'All Primaries' ),
    'menu_name'         => __( 'Primary' ),
);

$primaryargs = array(
    'hierarchical'      => true,
    'labels'            => $primarylabels,
    'show_ui'           => true,
    'show_admin_column' => true,
    'query_var'         => true,
    'rewrite'           => array( 'slug' => 'primary' ),
);

register_taxonomy( 'primary', 'protocols', $primaryargs );

// Add new taxonomy for Disease Category
$diseaselabels = array(
    'name'              => _x( 'Disease', 'taxonomy general name' ),
    'singular_name'     => _x( 'Disease', 'taxonomy singular name' ),
    'search_items'      => __( 'Search Disease' ),
    'all_items'         => __( 'All Diseases' ),
    'menu_name'         => __( 'Disease' ),
);

$diseaseargs = array(
    'hierarchical'      => true,
    'labels'            => $diseaselabels,
    'show_ui'           => true,
    'show_admin_column' => true,
    'query_var'         => true,
    'rewrite'           => array( 'slug' => 'disease' ),
);

register_taxonomy( 'disease', 'protocols', $diseaseargs );

// Add new taxonomy for Status
$statuslabels = array(
    'name'              => _x( 'Status', 'taxonomy general name' ),
    'singular_name'     => _x( 'Status', 'taxonomy singular name' ),
    'search_items'      => __( 'Search Status' ),
    'all_items'         => __( 'All Status' ),
    'menu_name'         => __( 'Status' ),
);

$statusargs = array(
    'hierarchical'      => true,
    'labels'            => $statuslabels,
    'show_ui'           => true,
    'show_admin_column' => TRUE,
    'query_var'         => true,
    'rewrite'           => array( 'slug' => 'status' ),
);

register_taxonomy( 'status', 'protocols', $statusargs );
}


add_action( 'init', 'protocols_init', 0 );
// Creates Protocols Custom Post Type
function protocols_init() {
$protocolsargs = array(
  'label' => 'Protocols',
    'public' => true,
    'show_ui' => true,
    'capability_type' => 'post',
    'hierarchical' => false,
    'rewrite' => array('slug' => 'protocol'),
    'query_var' => true,
    'menu_icon' => 'dashicons-book-alt',
'menu_position' => 5,
'has_archive' => true,
'taxonomies' => array('primary', 'disease', 'status'),
    'supports' => array(
        'title',
        'editor',
        'revisions')
    );
register_post_type( 'protocols', $protocolsargs );
}

Заметил еще кое-что. Если вы нажмете ссылку быстрое редактирование в сообщении и назначите ему категории, они появятся в столбцах!

Однако, если вы перейдете к полному экрану редактирования, категории, которые вы только что назначили, будут там, но если вы внесете изменения или даже обновите без внесения изменений, категории снова исчезнут из столбцов администратора ...

Так запутались, кто-нибудь, пожалуйста, взгляните на мой код и посмотрите, не делаю ли я что-то не так !! Я часами изучал, искал на форумах поддержки WordPress и в кодексе, и у меня ничего не вышло. Никакой помощи от сообщения на форумах WordPress тоже нет, он был опубликован больше месяца.

Может быть, что-то простое, например, вышла из строя функция? Настраиваемый тип сообщения или таксономия инициируется слишком поздно?


person Ultra Graphics    schedule 06.02.2015    source источник


Ответы (2)


Собственно, я нашел решение. После поиска в базе данных через phpAdmin я заметил дубликаты терминов таксономии. Старые версии были результатом первой неудачной попытки создания произвольного типа записей и таксономий.

Я удалил все пользовательские термины таксономии из базы данных, а затем вернулся в Wordpress и создал их снова, по сути, предоставив мне свежий список терминов. Теперь они правильно отображаются в списке сообщений администратора, а также на самом сайте.

Я все еще не уверен, ПОЧЕМУ повторяющиеся термины были проблемой, просто они были. Возможно, остаточные термины из моей первой неудачной попытки противоречили новым терминам, потому что название термина было тем же, но они были привязаны к разным таксономиям.

person Ultra Graphics    schedule 06.02.2015