WordPress文章阅读量统计和显示(非插件, 刷新页面不累加)

本文已同步到专业技术网站 www.sufaith.com, 该网站专注于前后端开发技术与经验分享, 包含Web开发、Nodejs、Python、Linux、IT资讯等板块.WordPress文章阅读量统计实现思路:每进入一次文章详情页面, 就会通过cookie判断该用户是否在设定的过期时间内访问过该文章, 若没有访问过, 则浏览次数增加一次。实现流程如下:1.添加以下代码至主题的functions.php文件, 放在该文件最下面即可:function getPostViews($postID){ $count_key = ‘views’; $count = get_post_meta($postID, $count_key, true); if($count==’’ || !$count){ return “0”; } return $count;}function setPostViews($postID){ $count_key = ‘views’; $count = get_post_meta($postID, $count_key, true); if($count==’’ || !$count) { $count = 1; delete_post_meta($postID, $count_key); add_post_meta($postID, $count_key, $count); }else{ $count++; update_post_meta($postID, $count_key, $count); }}2.添加以下代码至主题的single.php 文件, 时间间隔可自定义设置, 放在该文件最上面即可:<?php if(!isset($_COOKIE[‘views’.$post->ID.COOKIEHASH]) || $_COOKIE[‘views’.$post->ID.COOKIEHASH] != ‘1’){ setPostViews($post->ID); setcookie(‘views’.$post->ID.COOKIEHASH,‘1’,time() + 99999999,COOKIEPATH,COOKIE_DOMAIN);} ?>3.将以下代码添加到要显示浏览次数的位置, 例如 文章列表(template-parts/content.php), 文章详情页面(template-parts/content-single.php), 搜索结果页面(template-parts/content-search.php)等。<?php echo getPostViews(get_the_ID());?>以下是我的个人博客 http://www.sufaith.com 添加展示阅读量的代码和实际显示效果。 ...

April 3, 2019 · 1 min · jiezi

Wordpress更改端口后访问自动跳转老端口

刚开始首次安装wordpress程序时, nginx配置的是8081端口.在启动nginx和php服务后, 访问 http://www.example.com:8081/wp-admin 开始逐步安装, 然后顺利搭建好了博客网站.网站运行一段时间后, 需要将8081端口换成80端口, 这时将nginx配置里的8081端口改为80端口, 并重新加载nginx配置文件后, 访问网站却会自动跳转至8081端口(上次配置的老端口), 清除浏览器缓存和重启nginx, 依然无法解决这个问题.问题原因:首次安装wordpress时, 会将网站首页地址保存到wordpress数据库, 以后访问网站时以数据库里的首页地址为准, 单独改变nginx等web服务器映射的访问地址(ip, 域名, 端口的改动), 依然会自动跳转到数据库里存储的首页地址.解决方案:修改wordpress数据库, wp_options表, option_name字段 等于siteurl和home的2条记录将这2条记录的option_value值更新为你最新变更的地址, 例如:http://www.example.com 或 http://www.example.com:80更改成功后, 就可以正常通过80端口访问wordpress网站了MySQL操作语句:# wp_options表 查询记录select * from wp_options where option_name in (‘siteurl’,‘home’);# wp_options表 更新option_value的值update wp_options set option_value=‘http://www.example.com:80’ where option_name in (‘siteurl’,‘home’);

March 27, 2019 · 1 min · jiezi

Wordpress固定链接伪静态

wordpress页面的默认链接形式采用”朴素”方式 (例如: http://域名/?p=123)这样的动态URL链接不便于搜索引擎的收录, 为此, 我们需设置为其他几种常见的固定链接形式, 本网站 http://www.sufaith.com 选择的是 【 自定义结构 】.设置方式如下:进入wordpress后台系统首页, 点击菜单 【设置】- 【固定链接】选择【常用设置】 下的 【自定义结构】 , 可选择单个标签或多个标签组合, 可自定义拼接字符串, 本站点使用的是 /%post_id%.html, 填写完毕后, 点击 【保存更改】即可生效.保存更改后, 虽然文章或页面的链接变成了固定链接, 但是在访问页面时, 却变成了下载操作, 不能正常访问该URL地址, 这时需要配置nginx的伪静态(URL Rewrite)规则.以下为nginx的配置, 需修改为你自己的域名和root路径.server { listen 80; server_name www.example.com; root /usr/local/www/wordpress; index index.php index.html index.htm; location / { try_files $uri $uri/ /index.php?$args; } rewrite /wp-admin$ $scheme://$host$uri/ permanent; location ~ .php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }}修改完配置后, 重启nginx即可生效, 恢复正常访问.systemctl restart nginx.service ...

March 27, 2019 · 1 min · jiezi