我們在網上找到很多使用插件來實現,但個人學喜歡插件怕不安全或代碼太多了,后來找到一個朋友寫的一段代碼,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 到文章頁面即可.
新聞熱點
疑難解答
圖片精選