2017-08-26 86 views
0

我已將一個新列添加到自定義帖子類型以顯示帖子的ID。這適用於WordPress核心帖子類型,但不適用於我的自定義帖子類型。我曾嘗試使用manage_ {post_type} _custom_column掛鉤,並將其應用於所有帖子,但都無效。自定義列不顯示任何內容

它確實添加了自定義列標題,但在查看自定義帖子類型時,我無法用任何東西填充它們。

This is what it looks like when viewing the custom post typethis is what it looks like when viewing a regular core post.

// Add post ID column to use an order ID in all posts view. 

add_filter('manage_posts_columns', 'oms_order_id_header'); 
add_action('manage_posts_custom_column', 'oms_order_id_column', 10, 2); 

function oms_order_id_header($columns) { 
    //Remove title column 
    //unset($columns['title']); 
    //Add new columns 
    $columns['order_id_header'] = 'Order ID'; 
    $columns['customer_header'] = 'Customer'; 
    $columns['author']   = 'Owner';  

    return $columns; 
} 

function oms_order_id_column($column, $post_id) { 
     if ($column == 'order_id_header') { 
      echo $post_id; 
     } 
} 

回答

0

我只是想你的代碼,它似乎在這兩種情況下是工作完美對我的WordPress:自定義後和。

也許你的錯誤發生是因爲你的帖子是草稿?我不這麼認爲,但也許。 (我在你的代碼中也試過了我的安裝中的草稿,它工作正常)。以下是屏幕截圖:screenshot

嘗試打印「hello world」而不是$ post_id以檢查是否在所有情況下都打印。

0

事實證明,該帖子類型被設置爲分層。層次帖子類型需要通過與此處使用的不同的操作和過濾器進行定位。