【发布时间】: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