> 백엔드 개발 > PHP 튜토리얼 > wordpress添加文章浏览统计(刷新不重复)_PHP教程

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

WBOY
풀어 주다: 2016-07-20 11:15:29
원래의
971명이 탐색했습니다.

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으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿