You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何仅为WordPress后台标准文章添加浏览量列,排除自定义文章类型?

更高效的WordPress文章浏览量列控制方案

嘿,这个场景我之前也碰到过——逐个移除自定义文章类型里的浏览量列确实有点繁琐,其实我们可以从根源上解决问题,不用先添加再删除,而是一开始就只给标准博客文章(post类型)添加这个列,这样效率会高很多!

方法一:针对特定文章类型的钩子添加列

WordPress的列管理钩子支持按文章类型细分,格式是manage_{post_type}_posts_columns,把{post_type}替换成目标类型的slug(这里就是post)。这样代码只会作用在标准文章列表上,自定义文章类型根本不会出现这个列。

示例代码:

// 仅给标准博客文章添加浏览量列
add_filter( 'manage_post_posts_columns', 'add_post_views_column' );
function add_post_views_column( $columns ) {
    // 在列数组中添加浏览量列
    $columns['post_views'] = '浏览量';
    return $columns;
}

// 输出浏览量列的内容,同样使用post类型专属钩子
add_action( 'manage_post_posts_custom_column', 'display_post_views_column', 10, 2 );
function display_post_views_column( $column, $post_id ) {
    if ( 'post_views' === $column ) {
        // 获取并输出文章浏览量
        $views = get_post_meta( $post_id, 'post_views_count', true );
        echo esc_html( $views ? $views : '0' );
    }
}

方法二:全局钩子中条件判断文章类型

如果因为某些需求必须使用全局的manage_posts_columns钩子,那我们可以在添加列之前,先判断当前页面的文章类型是不是post,只有符合条件才添加列。

示例代码:

add_filter( 'manage_posts_columns', 'add_post_views_column_conditionally' );
function add_post_views_column_conditionally( $columns ) {
    // 获取当前后台页面的信息
    $current_screen = get_current_screen();
    // 仅当当前是标准文章列表页时,添加浏览量列
    if ( $current_screen && $current_screen->post_type === 'post' ) {
        $columns['post_views'] = '浏览量';
    }
    return $columns;
}

// 输出列内容时也做双重验证
add_action( 'manage_posts_custom_column', 'display_post_views_column_conditionally', 10, 2 );
function display_post_views_column_conditionally( $column, $post_id ) {
    if ( 'post_views' === $column ) {
        // 额外确认当前文章是标准博客类型
        $post_type = get_post_type( $post_id );
        if ( $post_type === 'post' ) {
            $views = get_post_meta( $post_id, 'post_views_count', true );
            echo esc_html( $views ? $views : '0' );
        }
    }
}

为什么这两种方法更高效?

  • 方法一直接利用了WordPress的类型专属钩子,代码逻辑更简洁,完全避免了多余列的生成,性能最优。
  • 方法二通过条件判断减少了不必要的操作,比逐个移除自定义类型列的代码更易维护(比如新增自定义类型时,不用再额外写移除代码)。

内容的提问来源于stack exchange,提问作者danzo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 04:19:06