wordpress如何不用插件實現文章閱讀數

下面由WordPress教程欄目給大家介紹wordpress不用插件實現文章閱讀數的方法,希望對需要的朋友有所幫助!

wordpress如何不用插件實現文章閱讀數

一、想法

一開始想到應該有什么插件能實現,搜索了下,排第一的是文章瀏覽量計數器(Post Views Counter)。

在安裝該插件之前,想了下,能否自己實現?畢竟動手折騰下,是會有收獲的。

在搜索之前,我想到的是在wp_post表加個字段,然后在文章打開的時候,把數據存起來,這樣就能持久保存文章閱讀數了。
但wordpress使用php寫的,mysql加字段,對前端的我來說,還是比較耗時間的。比如用php怎么操作數據庫,怎么用php加字段?估計最少半天甚至一天的時間,才能搞完。

有沒有更簡單的辦法?
因為之前折騰過wordpress數據庫,知道大概有哪些表。所以突然想到有個wp_postmeta表。從字面看,應該是可以加個字段或者能從該表入手的。
wordpress如何不用插件實現文章閱讀數

meta_id是id,post_id是文章id,meta_key和meta_value是文章的鍵值對信息。

二、wordpress提供的方法

那怎么操作該張表?
wordpress提供了幾個方法:

add_post_meta($post_id, $meta_key, $meta_value, $unique); get_post_meta($post_id, $meta_key, $single); update_post_meta($post_id, $meta_key, $meta_value, $prev_value); delete_post_meta($post_id, $meta_key, $meta_value);

三、具體代碼實現

那怎么用呢?
首先在function.php文件中添加add和get的函數封裝,然后在template-parts/content-single.php文件中進行調用。

// function.php function addPostViews($postId) {     $key = 'post_views';     $value = get_post_meta($postId, $key, true);     if($value == ''){         $value = 0;         delete_post_meta($postId, $key);         add_post_meta($postId, $key, $value);     }else{         $value++;         update_post_meta($postId, $key, $value);     } } function getPostViews($postId){        $key = 'post_views';        $value = get_post_meta($postId, $key, true);        if($value == ''){     $value = 0;         delete_post_meta($postId, $key);         add_post_meta($postId, $key, $value);         return $value;     }     return $value; }  // template-parts/content-single.php <p>閱讀:<?php echo getPostViews(get_the_ID()); ?></p> <?php addPostViews(get_the_ID()); ?>

以上就是

? 版權聲明
THE END
喜歡就支持一下吧
點贊13 分享