有关如何获取Wordpress中分页帖子当前页面的字数的任何建议?一般来说,如何只获取有关分页帖子的当前页面的信息(使用“”分页)。
我根据这篇有用的博客文章http://bacsoftwareconsulting.com/blog/index.php/wordpress-cat/how-to-display-word-count-of-wordpress-posts-without-a-plugin/创建了一个wordcount函数,但是这可以获得整个帖子的总字数,而不是当前页面的计数。
非常感谢你的帮助!
答案 0 :(得分:0)
您必须计算页面上所有帖子的字数。假设这是在循环内部,您可以定义一个初始化为零的全局变量,然后使用您发布的链接中建议的方法计算每个帖子中显示的单词。
这方面的东西 -
$word_count = 0;
if ( have_posts() ) : while ( have_posts() ) : the_post();
global $word_count;
$word_count += str_word_count(strip_tags($post->post_excerpt), 0, ' ');
endwhile;
endif;
答案 1 :(得分:0)
使用$wp_query
访问帖子的内容和当前页码,然后使用PHP explode()
将帖子的内容拆分为页面,使用strip_tags()
从内容中删除所有HTML标记,因为它们不算作单词,最后用str_word_count()
计算当前页面的单词。
function paginated_post_word_count() {
global $wp_query;
// $wp_query->post->post_content is only available during the loop
if( empty( $wp_query->post ) )
return;
// Split the current post's content into an array with the content of each page as an item
$post_pages = explode( "<!--nextpage-->", $wp_query->post->post_content );
// Determine the current page; because the array $post_pages starts with index 0, but pages
// start with 1, we need to subtract 1
$current_page = ( isset( $wp_query->query_vars['page'] ) ? $wp_query->query_vars['page'] : 1 ) - 1;
// Count the words of the current post
$word_count = str_word_count( strip_tags( $post_pages[$current_page] ) );
return $word_count;
}