wordpress网站怎样非插件统计文章浏览量?怎样调用热点文章?

在wordpress网站模板的开发中,有时候,我们需要调用wordpress网站的热点文章,这里的热点文章不是我们在前面的章节中所介绍的那“热评文章”,这里的热点文章,是指按照文章的阅读量来进行排序的文章列表,有很多网站就把这种热点文章做成了站内文章排行榜。那么,我们怎样才能在wordpress网站模板中添加热点文章呢?下面,就听我慢慢道来。具体可以观看视频课程《wordpress怎样非插件统计文章浏览量、调用热点文章?》。

wordpress网站怎样非插件统计文章浏览量?怎样调用热点文章?_第1张图片

方法一:使用wordpress插件wp-postviews来实现调用热点文章。

 

wp-postviews这个插件,可以给文章添加浏览量,也就是说,用户每浏览一次wordpress网站的文章,就会给当前文章的浏览量增加1次,记入到wordpress数据库中。wordpress默认情况下,是没有这个功能的。而且,这个软件还有其它功能,这个可以在这个插件的后台看到。它可以直接通过一句代码就可以调用热点文章列表。因为,本章节是介绍非插件添加热点文章,所以,这里我们就不多说了。如果感兴趣这个插件的,可以百度一下,这个插件在网上有很多的使用教程。不过,我是不建议使用插件的,能不用就尽量不用。

方法二:通过纯代码的形式来调用热点文章。

插件虽然好用,但使用过多的插件,会影响wordpress网站的整体速度。所以,在wordpress模板主题开发中,如果可以不用插件就可以实现的功能,就尽量不通过插件来实现。比如本章所介绍的内容——调用热点文章,就可以通过纯代码来实现(效果如下图)。我们下面分三步来说。

wordpress网站怎样非插件统计文章浏览量?怎样调用热点文章?_第2张图片

1、给wordpress模板添加文章浏览量函数。

要想获取热点文章,我们得首先知道文章的浏览量的多少。而wordpress程序默认情况下,是没有这个功能的。所以,我们要先给wordpress模板添加一个记录文章浏览量的函数。代码如下:

//记录文章浏览量函数
function record_visitors(){
if (is_singular()) {
global $post;
$post_ID = $post->ID;
if($post_ID){
$post_views = (int)get_post_meta($post_ID, 'views', true);
if(!update_post_meta($post_ID, 'views', ($post_views+1))){
add_post_meta($post_ID, 'views', 1, true); //给文章添加一个自定义字段views用来记录浏览量。
}
}
}
}
add_action('wp_head', 'record_visitors'); //把这个函数写入到wp_head这个钩子里。只要wordpress网站运行了这个钩子,就会记录用户的浏览数。

这个函数的功能是:每当用户浏览一次wordpress网站的文章,就会给当前文章记录一次浏览量。这里使用到了几个wordpress函数:

get_post_meta():获取文章某个自定义字段的值。
update_post_meta():更新文章某个自定义字段的值。
add_post_meta():给文章添加一个自定义字段。

2、在模板头部< head>里添加wp_head()。

这一步非常关键,如果没有添加这一步,wordpress就不能记录文章浏览量。wp_head()这个函数,我们在前面的章节中介绍过,很多插件都会用到这个函数。所以,我们要在wordpress网站模板的头部< head>这个标签中添加这句代码。

3、在wordpress模板中调用热点文章。

完在了前两步后,我们就可以在wordpress网站的模板中调用网站的热点文章了。一般是添加在侧边栏中。调用代码如下:

$arr = array(
'posts_per_page'=>5,
'caller_get_posts'=>1,
'meta_key' => 'views', //自定义字段键名。
'orderby' => 'meta_value_num', //按照这个自定义字段的值来排序。
);
query_posts($arr);
while (have_posts()) : the_post();
echo '

  • ';
    echo get_the_title().'
  • ';
    endwhile;
    wp_reset_query();

    上面的代码跟最新文章的代码差不多,不同的是排序方式有所不同,这里采用了wordpress网站文章的自定义字段views,按照这个字段的值来进行排序,实现了wordpress网站模板调用热点文章的效果。

    你可能感兴趣的:(wordpress主题开发)