我们在网上找到很多使用插件来实现,但个人学喜欢插件怕不安全或代码太多了,后来找到一个朋友写的一段代码,wordpress不用插件来实现功能方法.
第一种,找到functions模板,加入以下代码:
- function getPostViews($postID){
- $count_key = ‘post_views_count’;
- $count = get_post_meta($postID, $count_key, true);
- if($count==”){
- delete_post_meta($postID, $count_key);
- add_post_meta($postID, $count_key, ’0′);
- return “0 View”;
- }
- return $count.’ Views’;
- }
- function setPostViews($postID) {
- $count_key = ‘post_views_count’;
- $count = get_post_meta($postID, $count_key, true);
- if($count==”){
- $count = 0;
- delete_post_meta($postID, $count_key);
- add_post_meta($postID, $count_key, ’0′);
- }else{
- $count++;
- update_post_meta($postID, $count_key, $count);
- }
- }
然后将下面代码加到主题single模版主循环的中,代码如下:
<?php setPostViews(get_the_ID()); ?>
也就是类似这句的下面,代码如下:
<?php if (have_posts()):while (have_posts()):the_post(); ?>
最后,将调用显示阅读次数代码加到single模版适当的位置,代码如下:
<?php echo getPostViews(get_the_ID()); ?>
如果想在其它位置显示阅读次数,可以将下面代码也加到functions模版中:
remove_action(’wp_head’,’adjacent_posts_rel_link_wp_head’,10,0);
这样就实现了wordpress不用插件来显示文章浏览量的功能了.
第二种,比较简单—找到functions模板,加入以下代码:
- //postviews
- function get_post_views ($post_id) {
- $count_key = ‘views’;
- $count = get_post_meta($post_id, $count_key, true);
- if ($count == ”) {
- delete_post_meta($post_id, $count_key);
- add_post_meta($post_id, $count_key, ’0′);
- $count = ’0′;
- }
- echo number_format_i18n($count);
- }
- function set_post_views () {
- global $post;
- $post_id = $post -> ID;
- $count_key = ‘views’;
- $count = get_post_meta($post_id, $count_key, true);
- if (is_single() || is_page()) {
- if ($count == ”) {
- delete_post_meta($post_id, $count_key);
- add_post_meta($post_id, $count_key, ’0′);
- } else {
- update_post_meta($post_id, $count_key, $count + 1);
- }
- }
- }
- add_action(‘get_header’, ‘set_post_views’);
加入到主题functions模版文件中,直接调用<?php get_post_views($post -> ID); ?> views 到文章页面即可.
新闻热点
疑难解答
图片精选