【问题标题】:Adding column to WordPress admin for posts only, not custom post types仅为帖子添加列到 WordPress 管理员,而不是自定义帖子类型
【发布时间】:2018-07-18 06:52:49
【问题描述】:

我在我的 WP 网站中添加了一些代码,用于计算帖子被查看的次数。然后,我在管理员中添加了一个列,以显示该帖子已收到多少浏览量。这是针对标准 WP 博客文章的:

// SHOW POST VIEWS COLUMN IN ADMIN...
add_filter('manage_posts_columns', 'posts_column_views');
add_action('manage_posts_custom_column', 
'posts_custom_column_views',5,2);
function posts_column_views($defaults){

$defaults['post_views'] = __('Views');
return $defaults;
}
function posts_custom_column_views($column_name, $id){

if($column_name === 'post_views'){
    echo my_get_post_views(get_the_ID());
    }
}

这很好用,但问题是现在这个新列也显示在所有自定义帖子类型中。我写了一些代码从自定义帖子类型中取消设置(见下文),效果很好。

// BUT DON'T SHOW IT ON CUSTOM POST TYPES
function jxb_manage_columns( $columns ) {
  unset($columns['post_views']);
  return $columns;
}

function jxb_column_init() {
  add_filter( 'manage_jxb-component_posts_columns' , 'jxb_manage_columns' );
  add_filter( 'manage_faqs_posts_columns' , 'jxb_manage_columns' );
  add_filter( 'manage_edr-component_posts_columns' , 'jxb_manage_columns' );
  add_filter( 'manage_new-stories_posts_columns' , 'jxb_manage_columns' );
  add_filter( 'manage_loc_posts_columns' , 'jxb_manage_columns' );
  add_filter( 'manage_upcoming-event_posts_columns' , 'jxb_manage_columns' );
  add_filter( 'manage_product-return_posts_columns' , 'jxb_manage_columns' );
  add_filter( 'manage_splash-page_posts_columns' , 'jxb_manage_columns' );
}
add_action( 'admin_init' , 'jxb_column_init' );

只是想知道是否有更有效的方法来执行此操作,而不是单独从每个自定义帖子类型中取消设置列。谢谢!

【问题讨论】:

    标签: php wordpress custom-post-type


    【解决方案1】:

    通过 WordPress codex 文档,您可以在过滤器 manage_{$post_type}_posts_columnssee CODEX 上设置帖子类型名称

    所以您可以在{$post_type} 上设置post(实际上是一个帖子类型),然后您将过滤器限制为post 帖子类型,所以:

    add_filter('manage_post_posts_columns', 'posts_column_views');
    add_action('manage_post_posts_custom_column', 'posts_custom_column_views',5,2);
    

    【讨论】:

    • 太棒了!我认为“帖子”是指帖子作为默认帖子类型。不知道我可以将其视为任何其他帖子类型。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2011-11-19
    • 2020-06-02
    • 2013-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-19
    相关资源
    最近更新 更多