700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > WordPress非插件添加文章浏览次数统计功能

WordPress非插件添加文章浏览次数统计功能

时间:2020-06-09 04:44:43

相关推荐

WordPress非插件添加文章浏览次数统计功能

WordPress文章浏览次数的统计功能至关重要。许多主题已经集成到这个功能中。如果你的主题没有集成,你可以使用它WP-Postviews插件,或尝试本文的代码。

WordPress实现文章浏览次数统计的非插件方法是DH参考willin kan大师的my_visitor写插件,刷新文章页面统计一次,简单实用。

非插件统计文章浏览次数

1.在主题的 functions.php最后一个文件 ?> 添加以下代码:

/* 访问计数 */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); } }}}add_action(wp_head, ecord_visitors); 函数名称:post_views/// 函数功能:阅读文章的次数function post_views($before = (点击 , $after = 次), $echo = 1){ global $post; $post_ID = $post->ID; $views = (int)get_post_meta($post_ID, views, true); if ($echo) echo $before, number_format($views), $after; else return $views;}

2.在需要显示统计次数的地方使用以下代码调用:

阅读:

浏览次数最多的文章

如果你想获得上述函数中浏览次数最多的文章,你可以 functions.php最后一个文件 ?> 添加以下代码:

/// get_most_viewed_format/// 函数功能:获得阅读最多的文章function get_most_viewed_format($mode = \, $limit = 10, $show_date = 0, $term_id = 0, $beforetitle= (, $aftertitle = ), $beforedate= (, $afterdate = ), $beforecount= (, $aftercount = )) { global $wpdb, $post; $output = \; $mode = ($mode == \) ? post : $mode; $type_sql = ($mode ! post : $mode; $type_sql = ($mode != oth) ? "AND post_type=$mode\" : \; $term_sql = (is_array($term_id)) ? "AND $wpdb->term_taxonomy.term_id IN (" . join(,, $term_id) . ) : ($term_id != 0 ? "AND $wpdb->term_taxonomy.term_id = $term_id" : \); $term_sql.= $term_id ? " AND $wpdb->term_taxonomy.taxonomy != link_category\" : \; $inr_join = $term_id ? "INNER JOIN $wpdb->term_relationships ON ($wpdb->posts.ID = $wpdb->term_relationships.object_id) INNER JOIN $wpdb->term_taxonomy ON ($wpdb->term_relationships.term_taxonomy_id = $wpdb->term_taxonomy.term_taxonomy_id)" : \; // database query $most_viewed = $wpdb->get_results("SELECT ID, post_date, post_title, (meta_value 0) AS views FROM $wpdb->posts LEFT JOIN $wpdb->postmeta ON ($wpdb->posts.ID = $wpdb->postmeta.post_id) $inr_join WHERE post_status = publish AND post_password = \ $term_sql $type_sql AND meta_key = views GROUP BY ID ORDER BY views DESC LIMIT $limit"); if ($most_viewed) { foreach ($most_viewed as $viewed) { $post_ID = $viewed->ID; $post_views = number_format($viewed->views); $post_title = esc_attr($viewed->post_title); $get_permalink = esc_attr(get_permalink($post_ID)); $output .= "

$beforetitle$post_title$aftertitle"; if ($show_date) {$posted = date(get_option(date_format), strtotime($viewed->post_date));$output .= "$beforedate $posted $afterdate"; } $output .= "$beforecount $post_views $aftercount"; } } else { $output = "N/An"; } echo $output;}

然后使用以下函数调用:

插件下载:/s/1oiix5JFrknrs0XYvQNwQOw

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。