自定义列不显示任何内容

时间:2017-08-26 23:17:20

标签: wordpress custom-wordpress-pages wordpress-hook

我在自定义帖子类型中添加了一个新列,以显示帖子的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;
        }
}

2 个答案:

答案 0 :(得分:3)

事实证明,将帖子类型设置为分层是一个问题。分层帖子类型需要使用与此处使用的操作挂钩不同的操作挂钩。

而不是manage_posts_custom_column,分层帖子类型需要使用manage_pages_custom_column

答案 1 :(得分:0)

我刚刚尝试过你的代码,在我的WordPress安装中它似乎都很完美:自定义帖子和帖子。

也许您的错误正在发生,因为您的帖子是草稿?我不这么认为,但也许。 (我的代码也尝试了我的安装草稿,它工作)。以下是屏幕截图:screenshot

尝试打印" hello world"而不是$ post_id来检查它是否在所有情况下打印。