gpt4 book ai didi

php - 仅将列添加到 WordPress 管理员的帖子,而不是自定义帖子类型

转载 作者:行者123 更新时间:2023-12-02 20:31:19 24 4
gpt4 key购买 nike

我已经在我的 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' );

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

最佳答案

通过 WordPress codex 文档,您可以在过滤器 manage_{$post_type}_posts_columns 上设置帖子类型名称,see 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);

关于php - 仅将列添加到 WordPress 管理员的帖子,而不是自定义帖子类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48673012/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com