2015-02-06 42 views
0

我創建了一個名爲「protocols」的自定義帖子類型,併爲該自定義帖子類型註冊了一些分類法,以允許客戶可過濾/可搜索的帖子列表。出於某種原因,分類標準類別未顯示在自定義帖子類型的管理屏幕帖子列表中。這裏的屏幕截圖:http://demo.agexpressions.com/img/admin-screen.png自定義帖子類型的自定義分類法未顯示在WordPress管理員列中

我在註冊所有分類法時使用了'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支持論壇和codex上搜索,並做出了簡短的介紹。在wordpress論壇上沒有任何幫助,它已經上漲了一個多月。

它可能是一個簡單的功能失序?自定義帖子類型或分類標準是否啓動得太晚?

回答

0

其實,我找到了解決方案。通過phpAdmin搜索數據庫後,我注意到有分類術語的重複。較早的版本來自第一次創建自定義帖子類型和分類法失敗的嘗試。

我刪除了數據庫中的所有定製分類術語,然後又回到Wordpress並重新創建它們,實質上給了我一個新的術語列表。他們現在在管理員帖子列表中以及在網站上正確顯示。

現在,我仍然不確定爲什麼重複的條款是問題,只是他們是。也許從我第一次失敗的嘗試中得到的剩餘術語與新術語相沖突,因爲術語名稱是相同的,但它們被附加到不同的分類法中。

0

您需要填充列內容。見http://codex.wordpress.org/Plugin_API/Action_Reference/manage_ $ post_type_posts_custom_column

+0

我感謝您的意見!看起來問題是我的數據庫中的重複分類術語來自先前嘗試創建自定義帖子類型和分類法的失敗。我相信你所指的鏈接是隱藏和顯示管理員屏幕中的整個列。這(如果我理解正確的話)可以通過在註冊分類法時使用'show-admin-column'=> true參數來實現。雖然謝謝! – 2015-02-06 22:09:33

相關問題