wordpress添加文章浏览统计(刷新不重复)_PHP教程

WBOY
發布: 2016-07-20 11:15:29
原創
946 人瀏覽過

wordpress本身不带文章浏览统计,可以用插件wp-postview,但是刷新还是算一个浏览次数。

1.首先在主题下functions.php里增加以下代码,这段代码也是网上可以找到的

<span  1</span> <span //</span><span add by charleswu</span>
<span  2</span> <span function</span> getPostViews(<span $postID</span><span ) {
</span><span  3</span>     <span $count_key</span> = 'post_views_count'<span ;
</span><span  4</span>     <span $count</span> = get_post_meta(<span $postID</span>, <span $count_key</span>, <span true</span><span );
</span><span  5</span>     <span if</span> (<span $count</span> == ''<span ) {
</span><span  6</span>         delete_post_meta(<span $postID</span>, <span $count_key</span><span );
</span><span  7</span>         add_post_meta(<span $postID</span>, <span $count_key</span>, '0'<span );
</span><span  8</span>         <span return</span> "0"<span ;
</span><span  9</span> <span     }
</span><span 10</span>     <span return</span> <span $count</span><span ;
</span><span 11</span> <span }
</span><span 12</span> <span function</span> setPostViews(<span $postID</span><span ) {
</span><span 13</span>     <span $count_key</span> = 'post_views_count'<span ;
</span><span 14</span>     <span $count</span> = get_post_meta(<span $postID</span>, <span $count_key</span>, <span true</span><span );
</span><span 15</span>     <span if</span> (<span $count</span> == ''<span ) {
</span><span 16</span>         <span $count</span> = 0<span ;
</span><span 17</span>         delete_post_meta(<span $postID</span>, <span $count_key</span><span );
</span><span 18</span>         add_post_meta(<span $postID</span>, <span $count_key</span>, '0'<span );
</span><span 19</span>     } <span else</span><span  {
</span><span 20</span>         <span $count</span>++<span ;
</span><span 21</span>         update_post_meta(<span $postID</span>, <span $count_key</span>, <span $count</span><span );
</span><span 22</span> <span     }
</span><span 23</span> }
登入後複製

2.解决刷新统计数增加,一定要放在文章页面的最前面,貌似php设置cookie之前不能有输出,蛋疼。我的是single.php页面

<span  1</span> <?<span php
</span><span  2</span>     <span $post_id</span>=<span get_the_ID();
</span><span  3</span>     <span if</span>(<span isset</span>(<span $_COOKIE</span>['views'.<span $post_id</span>.COOKIEHASH]) && <span $_COOKIE</span>['views'.<span $post_id</span>.COOKIEHASH] == '1'<span )
</span><span  4</span> <span     {
</span><span  5</span>             
<span  6</span> <span     }
</span><span  7</span>     <span else</span><span {    
</span><span  8</span>         setPostViews(<span $post_id</span><span );
</span><span  9</span>         <span setcookie</span>('views'.<span $post_id</span>.COOKIEHASH,'1',<span time</span>() + 3600,COOKIEPATH,COOKIE_DOMAIN);<span //</span><span 设置时间间隔</span>
<span 10</span> <span     }
</span><span 11</span> ?>
登入後複製

 

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/440188.htmlTechArticlewordpress本身不带文章浏览统计,可以用插件wp-postview,但是刷新还是算一个浏览次数。 1.首先在主题下functions.php里增加以下代码,这段代码...
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!