WordPress 在后台文章列表页面显示文章字数数据列

文 / @WordPress主题

WordPress新闻网站的字数统计插件

您好,我曾经帮助一家公司开发了一款基于WordPress的新闻网站。该公司有多名编辑,因此公司主管对每篇新闻文章的字数有要求。以前的CMS不支持文章字数的显示,对编写文章字数的统计都是通过Word处理,非常麻烦。我发现了这个小问题后,考虑到统计文章字数实际上并不麻烦,我便在后台加入了一个文章列表页面显示文章字数的功能。

word-count

统计文章字数

首先,我们需要用一个函数来统计文章的字数。只需将文章内容传入该函数,便可返回文章的文字字数。当然,我们也可以在前台需要显示文章字数的时候使用这个插件。

function count_words($text){
  global $post;
  $output='';
  if(mb_strlen($output,'UTF-8')<mb_strlen($text,'UTF-8')) $output.=mb_strlen(preg_replace('/\s/','',html_entity_decode(strip_tags($post->post_content))),'UTF-8');
  return $output;
}

添加统计到的字数为自定义字段

为了获取文章的内容并统计插件,我们需要先将文章保存一次,并在更新时统计文章字数。

add_action('save_post','words_count',0);
function words_count($post_ID){
  $content_post=get_post($post_id);
  $content=$content_post->post_content;

  $words_count=count_words($content);
  update_post_meta($post_ID,'words_count',$words_count);
}

在文章列表页面显示

该步骤为获取第二步保存的文章字数字段,并在文章列表中显示。

add_filter('manage_posts_columns','posts_column_words_count_views');
add_action('manage_posts_custom_column','posts_words_count_views',5,2);

function posts_column_words_count_views($defaults){
  $defaults['words_count']=__('字数','wizhi');
  return $defaults;
}
function posts_words_count_views($column_name,$id){
  if($column_name==='words_count'){
    echo get_post_meta(get_the_ID(),'words_count',true);
  }
}

除此之外,我们还可以参考上述方法将其他类型的数据添加到文章列表中,例如文章的缩略图、文章的阅读量等等,或可以添加一些自定义操作链接或按钮,帮助进行一些快速操作。

添加UTHEME为好友
扫码添加UTHEME微信为好友
· 分享WordPress相关技术文章,主题上新与优惠动态早知道。
· 微信端最大WordPress社群,限时免费入群。