Home  >  Article  >  Backend Development  >  Add article browsing statistics to wordpress (refresh without duplication)_PHP tutorial

Add article browsing statistics to wordpress (refresh without duplication)_PHP tutorial

WBOY
WBOYOriginal
2016-07-20 11:15:29900browse

Wordpress itself does not have article browsing statistics. You can use the plug-in wp-postview, but refreshing will still count as a number of views.

1. First, add the following code to functions.php under the theme. This code can also be found online

<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. To solve the problem of increasing refresh statistics, it must be placed at the front of the article page. It seems that there cannot be output before php sets the cookie, which is painful. Mine is the single.php page

<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 itself does not have article browsing statistics. You can use the plug-in wp-postview, but refreshing still counts as a number of views. 1. First add the following code to functions.php under the theme. This code...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn