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

WordPress后台统计用户1200字符以上文章数问题求助

解决方案

你的核心问题是SQL查询未过滤文章内容长度,只需修改统计逻辑,在查询中加入内容字符数≥1200的条件即可。

修改思路

  1. 利用MySQL的LENGTH()(或CHAR_LENGTH(),针对中文等多字节字符)函数判断文章内容长度
  2. 将长度条件与get_posts_by_author_sql生成的作者过滤条件通过AND拼接

修改后的完整代码

function count_manage_users_custom_column($output = '', $column_name, $user_id) {
  global $wpdb;

  if( $column_name !== 'post_chars_count' )
    return $output; // 修正:返回原output避免影响其他列显示

  $where = get_posts_by_author_sql( 'post', true, $user_id );
  // 加入内容长度过滤:多字节字符场景请把LENGTH替换为CHAR_LENGTH
  $result = $wpdb->get_var( "SELECT COUNT(*) FROM $wpdb->posts $where AND LENGTH(post_content) >= 1200" );

  return '<a href="' . admin_url("edit.php?post_type=post&author=$user_id") . '" 
  title="Post Type Count">' . $result . '</a>';
}
add_filter('manage_users_custom_column', 'count_manage_users_custom_column', 10, 3);

function count_manage_users_columns($columns) {
  $columns['post_chars_count'] = __( 'Articles > 1200 chars', 'textdomain' );
  return $columns;
}
add_filter('manage_users_columns', 'count_manage_users_columns');

关键说明

  • LENGTH(post_content):统计内容的字节数,适合英文等单字节字符场景
  • 若站点使用中文、日文等多字节字符,建议改用CHAR_LENGTH(post_content),它统计实际字符数,避免编码导致的统计偏差
  • 原代码中if分支直接return未返回$output,可能影响其他自定义列显示,已修正

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 19:25:43