标签 wordpress 下的文章

手动部署LNMP环境(Ubuntu)

LNMP分别代表Linux、Nginx、MySQL和PHP。安装步骤见文章

本文章仅用作记录,只描述了大概流程,非正经教程。
毫无经验的小伙伴或者想搭建博客的都不建议浪费时间的往下看了,标签页右边的×可以点一下了,

准备工作 一 创建一个数据库

进入数据库创建一个数据库用来存储WordPress的数据。

登录 MySQL

sudo mysql -uroot -p

创建数据库,在这里,database_name 是您想要创建的数据库名称。

CREATE DATABASE database_name;

# 例如,创建一个名为 wp_blog 的数据库
CREATE DATABASE wp_blog;

创建后也可以使用 SHOW DATABASES; 查看数据库,这将列出所有可用的数据库。

# 创建数据库
mysql> CREATE DATABASE wp_blog;
Query OK, 1 row affected (0.01 sec)

# 查看数据库
mysql> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
| wp_blog            |
+--------------------+
5 rows in set (0.00 sec)

mysql>

准备工作 一 配置SSL 证书

申请一个ssl 证书,就可以使用https 协议访问网站。

免费证书腾讯云或者阿里云以及其他地方都有提供申请渠道,申请过程略过。

然后把以.key .pem两个后缀结尾的文字上传到服务器的目录下,什么路径都行,本教程使用的路径是 /etc/nginx/,然后打开修改 nginx 配置文件/etc/nginx/conf.d/default.conf

server {
  listen 443 ssl http2; #监听443端口,用于处理加密的HTTPS请求,并启用HTTP/2协议。

  # 引入证书文件开始
  ssl_certificate   /etc/nginx/xm.moshanghua.net.pem; #指定SSL证书文件路径。
  ssl_certificate_key  /etc/nginx/xm.moshanghua.net.key; # 指定SSL证书密钥文件路径。
  ssl_session_timeout 5m;
  ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
  ssl_protocols TLSv1.3 TLSv1.2 TLSv1.1;
  ssl_prefer_server_ciphers on;
  # 引入证书文件结束 
}

再定义一个服务器块,将所有HTTP请求重定向到HTTPS。

server {
  listen 80;
  server_name xm.moshanghua.net ;
  rewrite ^/(.*) https://xm.moshanghua.net/$1 permanent;
}

完整的配置:

server {
  listen 80; # 监听80端口,用于处理未加密的HTTP请求。
  listen 443 ssl http2; # 监听443端口,用于处理加密的HTTPS请求,并启用HTTP/2协议。
  server_name localhost;
  root /usr/share/nginx/html/wpblog; # 设置Web服务器的根目录。

  location / {
    index index.php index.html index.htm; # 设置默认的索引文件。
    # 尝试直接访问请求的文件或目录,如果找不到,则重定向到index.php。
    try_files $uri $uri/ /index.php?q=$uri&$args;
  }

  # 配置PHP请求的处理
  location ~ \.php$ {
    # 尝试直接访问请求的PHP文件,如果文件不存在,则返回404错误
    try_files $uri =404;
    include fastcgi_params; # 包含FastCGI参数文件
    fastcgi_pass 127.0.0.1:9000; # 设置FastCGI服务器地址和端口
    # 设置FastCGI脚本文件路径
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  }

  # SSL基础配置
  # 引入证书文件开始
  # 指定SSL证书文件路径,.pem前面一串字符改为自己的,路径也确认一下
  ssl_certificate   /etc/nginx/xm.moshanghua.net.pem;
  # 指定SSL证书密钥文件路径,.key前面一串字符改为自己的,路径也确认一下
  ssl_certificate_key  /etc/nginx/xm.moshanghua.net.key;
  # 设置SSL会话超时时间为5分钟
  ssl_session_timeout 5m;
  # 指定允许的SSL加密算法
  ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
  # 指定允许的SSL协议版本
  ssl_protocols TLSv1.3 TLSv1.2 TLSv1.1;
  # 设置服务器加密算法优先
  ssl_prefer_server_ciphers on;
  # 引入证书文件结束
}

server {
  # 监听80端口,即HTTP请求的默认端口
  listen 80;
  # 指定了服务器的名称,nginx配置里多站点时建议指向一下具体的域名请求
  # 这里配置为xm.moshanghua.net,意味着它将响应所有指向该域名的请求。
  server_name xm.moshanghua.net ;
  # 这是一条rewrite规则,它将所有请求重定向到HTTPS
  # permanent标志表示这是一个永久重定向,HTTP状态码为301
  rewrite ^/(.*) https://xm.moshanghua.net/$1 permanent;
}

修改Nginx配置后,重启一下:sudo systemctl restart nginx

准备工作 一 源码相关

建议直接 clone 一份源码在本地,修改之后先上传到自己的GitHub仓库,再推到服务器。

这样做方便后续主题更新,可以在本地先改好,能正常运行跑一下流程,确认没问题了再拉取更新,不然直接拉取的话,安装依赖出点问题线上环境也就打不开了。

(本文章本部部分略过,线上直接跑项目)

源码地址:https://github.com/D-xuanmo/Nuxtjs-Wordpress

准备工作 一 端口放行

务器配置放行端口 30003002

下面介绍如何在Ubuntu 22.04搭建wordpress 以及部署主题Nuxtjs + WordPress。

安装 WordPress

首先进入网站根目录,不一定是非得在 /usr/share/nginx/html 目录下,也可以自己接着套文件夹或者另起文件夹,记得去Nginx 配置里同步修改。
本文演示目录为 /usr/share/nginx/html/wpblog

cd /usr/share/nginx/html/wpblog

使用wget 下载WordPress 程序,此链接默认下载最新版本

wget https://cn.wordpress.org/latest-zh_CN.zip

如果不要最新版,也可以前往https://cn.wordpress.org/download/releases/ ,这是为 WordPress 提供的每个记录版本的归档。

下载好后就解压文件

# 新环境,如果没有 unzip 解压工具可以安装一下
sudo apt install unzip

# unzip 命令解压
unzip latest-zh_CN.zip

解压后,文件默认是一起放在 wordpress 目录下,如果不是以此目录作为根目录,就用 mv 命令移动一下,演示的根目录是 /usr/share/nginx/html/wpblog

# 将 wordpress 目录下的所有文件和文件夹移动到 /usr/share/nginx/html/wpblog 目录下
mv wordpress/* /usr/share/nginx/html/wpblog

然后就可以访问解析的域名进行程序引导安装了,点击现在就开始。

数据库名填写前面用命令创建的wp_blog,用户名为MySQL的用户名root,密码为MySQL的登录密码,数据库主机不用改,表前缀改不改都行。

然后提交。

如果出现以下界面,权限不够,无法写入。
您可以使用 chmod 命令来设置权限

# 设置权限
sudo chmod 755 /usr/share/nginx/html/wpblog

# 设置所有者
sudo chown www-data:www-data /usr/share/nginx/html/wpblog

点击运行安装程序就能下一步了。

来到这一步,站点标题和邮箱地址后面都是可以改的,无所谓怎么写。

用户名和密码要认真填写并记住,等下登录后台要用的。

用户名可以自定义字符

点击安装WordPress,就可以看到安装成功的页面。

到这里,WordPress就安装完成了。

输入 https://域名/wp-login.php 就可以访问博客后台了。

设置里可以设置博客的配置,略过.

主题部署

所需环境准备

Nodejs 版本推荐 16.10.x或往上,低于16.10.x会报错模块不兼容。

安装 Nodejs 环境

需要在服务器安装 node 环境,需要大于 16.10.0。

本文章 node 版本为16.17.0,使用 wget 命令下载 Node.js 安装包,文件可以放在 root 目录,具体随意。本文档存放目录为 root目录

该方式使用的安装包是已编译好的二进制文件。解压文件之后,在bin文件夹中就已存在node和npm,无需重复编译。

wget https://nodejs.org/dist/v16.17.0/node-v16.17.0-linux-x64.tar.xz

# 将当前目录更改到根目录
cd ~

# 显示当前工作目录的绝对路径
pwd
/root

wget https://nodejs.org/dist/v16.17.0/node-v16.17.0-linux-x64.tar.xz

该安装包是编译好的文件,解压之后,在 bin 文件夹中就已存在 node 和 npm,无需重复编译。

解压文件 tar xvf node-v16.17.0-linux-x64.tar.xz

创建软链接,使 node 和 npm 命令全局有效。通过创建软链接的方法,使得在任意目录下都可以直接使用 node 和 npm 命令。

语法:

在执行这个命令之前,需要确保有足够的权限来在 /usr/local/bin 目录下创建链接。如果当前登录的用户账户没有足够的权限,可能需要使用 sudo 来执行这个命令

注:如果在下载Node.js 安装包时,不是在 **/root**目录下,那创建软链接时的源文件路径也要做相应更改

ln -s /root/node-v16.17.0-linux-x64/bin/node /usr/local/bin/node
ln -s /root/node-v16.17.0-linux-x64/bin/npm /usr/local/bin/npm

到此已经安装完成,使用 node -v 查看 node 版本,使用 npm -v 查看版本号,如果出现正确版本号则安装成功。

使用 npm 安装其他的全局命令

npm i -g yarn pm2 这条命令是全局安装 yarn 和 pm2。

如果安装比较慢,可以使用淘宝镜像安装,npm i -g yarn pm2 --registry=https://registry.npmmirror.com,后续的安装都可以加上这个。

如果执行了这一步操作,提示 Command 'yarn' not found 或者 Command 'pm2' not found ,可以使用下边两条命令:

ln -s /root/node-v16.17.0-linux-x64/bin/yarn /usr/local/bin/yarn
ln -s /root/node-v16.17.0-linux-x64/bin/pm2 /usr/local/bin/pm2

以上命令和前面一样的效果,创建一个名为 /usr/local/bin/yarn 的符号链接,它指向 /root/node-v16.17.0-linux-x64/bin/yarn

这样做的目的是为了方便在任意目录下都能通过 yarn 命令来运行 /root/node-v16.17.0-linux-x64/bin/yarn 这个Yarn的包管理器,而无需每次都输入完整的路径。

完整步骤演示:

# 将当前目录更改到根目录
cd ~

# 显示当前工作目录的绝对路径
pwd
/root

# 下载指定版本nodejs
wget https://nodejs.org/dist/v16.17.0/node-v16.17.0-linux-x64.tar.xz

# 解压文件
tar xvf node-v16.17.0-linux-x64.tar.xz

# 创建软链接,使 node 和 npm 命令全局有效
ln -s /root/node-v16.17.0-linux-x64/bin/node /usr/local/bin/node
ln -s /root/node-v16.17.0-linux-x64/bin/npm /usr/local/bin/npm

# 全局安装 yarn 和 pm2
npm i -g yarn pm2 --registry=https://registry.npmmirror.com

#创建软链接,使 yarn 和 pm2 命令全局有效
ln -s /root/node-v16.17.0-linux-x64/bin/yarn /usr/local/bin/yarn
ln -s /root/node-v16.17.0-linux-x64/bin/pm2 /usr/local/bin/pm2

运行项目

下载主题到网站根目录

cd /usr/share/nginx/html/wpblog

# 下载源码
wget https://github.com/D-xuanmo/Nuxtjs-Wordpress/archive/refs/heads/master.zip

#解压文件
unzip master.zip

将源码目录下的 service 放入 WordPress 主题目录 wp-content/theme/ 下,并启用此主题

# 进入源码目录
cd Nuxtjs-Wordpress-master/

# 复制目录到主题目录下
cp -r service/ /usr/share/nginx/html/wpblog/wp-content/themes/

# ls命令确认下文件
ls /usr/share/nginx/html/wpblog/wp-content/themes/

进入 Nuxtjs主题设置 ,启用本主题之后,会在外观菜单下加入一个子菜单,将站点前端域名设置为 WordPress 访问地址,确保 http://{domain}/wp-json 能有正确的数据,所有 WordPress 接口都是在这个虚拟目录下;如果访问报错可以尝试在 后台设置=>固定链接 设置为数字型;

访问地址,确保 http://{domain}/wp-json 能有正确的数据。https://xm.moshanghua.net/wp-json

打开目录下Nuxtjs-Wordpress-master/nuxt.config.js文件,修改项目的一些配置,改为自己的信息,如下截图,这一步不是必选的,可以安装完成之后在修改

改完之后再继续往下翻到最后,将下图2个地址改为自己的域名

确认此时是在Nuxtjs-Wordpress-master这个目录,执行 yarn 命令,这一步是安装项目所需要的依赖文件。(warning信息无视就好)

如果比较慢可以使用这个命令 yarn --registry=https://registry.npmmirror.com

依赖安装完成之后,执行 yarn dev,如果能出现以下截图代表能够正常运行项目。

到这里,访问上还是有问题,可以先跳到下面的Nginx 反向代理部分,把配置设置好。

遇到的问题:

但这会通过自己的域名或者 IP 访问 3000 端口还是无响应状态。

在Nginx配置文件里的根目录的请求处理配置部分加入proxy_pass http://127.0.0.1:3000后,

  location / {
    # 这里是每次访问域名将请求转发到3000端口
    proxy_pass http://127.0.0.1:3000;
  }

这下能通过主域名https://xm.moshanghua.net 访问到部分数据,大部分文件请求还是失败的

使用 Nginx 反向代理

需要的是用 80 或者 443 去访问,所以需要用 nginx 做代理,

Tips: 先到数据库找到WordPress的表 wp_options ,修改 siteurlhome 字段,值改为 http://{你的域名}:3002 端口,因为后续WordPress只会作为一个CMS管理系统

登录数据库,切换到WordPress数据库的表 wp_options ,修改 siteurl 和 home 字段

登录和切换数据库

#登录
mysql -u username -p

# 选择数据库,database_name 是想要选择的数据库名称
USE database_name;

# 列出数据库中的所有表
SHOW TABLES;

修改 siteurl 和 home 字段。

使用 UPDATE 语句来修改 wp_options 表中 option_name 字段下 home 的内容

以下是一个示例 SQL 语句,用于将 home 的内容修改为 http://xm.moshanghua.net:3002

# 修改 home 字段
UPDATE wp_options
SET option_value = 'http://xm.moshanghua.net:3002'
WHERE option_name = 'home';

# 修改 siteurl 字段
UPDATE wp_options
SET option_value = 'http://xm.moshanghua.net:3002'
WHERE option_name = 'siteurl';

完整演示:

mysql> SHOW DATABASES;

mysql> USE wp_blog;

mysql> SHOW TABLES;

mysql> DESCRIBE wp_options;

mysql> SELECT option_value FROM wp_options WHERE option_name = 'home';
+---------------------------+
| option_value              |
+---------------------------+
| https://xm.moshanghua.net |
+---------------------------+
1 row in set (0.00 sec)

mysql> SELECT option_value FROM wp_options WHERE option_name = 'siteurl';

mysql> UPDATE wp_options SET option_value = 'http://xm.moshanghua.net:3002' WHERE option_name = 'home';

mysql> UPDATE wp_options SET option_value = 'http://xm.moshanghua.net:3002' WHERE option_name = 'siteurl';

mysql> SELECT option_value FROM wp_options WHERE option_name = 'home';
+-------------------------------+
| option_value                  |
+-------------------------------+
| http://xm.moshanghua.net:3002 |
+-------------------------------+
1 row in set (0.00 sec)

mysql> SELECT option_value FROM wp_options WHERE option_name = 'siteurl';

mysql>



数据库字段修改完后,就再配置下规则:

以下是我的配置文件说明,这一步更多配置需要自己了解一下 nginx 配置:

配置分为两段

第一段,设置了一个监听3002端口的虚拟服务器,专门用于服务WordPress应用程序,用于代替之前的 WordPress 访问端口

# wordpress
server {
  # 这告诉Nginx监听3002端口,并将这个服务器块设置为默认服务器
  # 这意味着如果请求没有指定服务器块,将会由这个服务器块处理
  listen 3002 default_server;
  server_name xm.moshanghua.net;
  root   /usr/share/nginx/html/wpblog;

  location / {
    index index.php index.html index.htm;
    try_files $uri $uri/ /index.php?q=$uri&$args;
  }

  location ~ \.php$ {
    try_files $uri =404;
    include fastcgi_params;
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  }
}

第二段,设置一个服务器块,它同时监听80和443端口去代理 Nuxt 服务。

server {
  listen 80;
  # 听443端口,用于处理加密的HTTPS请求,并启用HTTP/2协议
  listen 443 ssl http2;
  server_name xm.moshanghua.net;
  root   /usr/share/nginx/html/wpblog;

  # 引入证书文件开始
  ssl_certificate   /etc/nginx/xxx.pem; # 指定SSL证书文件路径
  ssl_certificate_key  /etc/nginx/xxx.key; # 指定SSL证书密钥文件路径
  ssl_session_timeout 5m;
  ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
  ssl_protocols TLSv1.3 TLSv1.2 TLSv1.1;
  ssl_prefer_server_ciphers on;

  location / {
    # 这里是每次访问域名将请求转发到3000端口
    proxy_pass http://127.0.0.1:3000;
  }

  # 下边两个是代理wordpress的一些服务
  # 配置对/wp-json路径的请求处理
  location /wp-json {
    # 将对/wp-json的请求代理到本地的3002端口
    proxy_pass http://127.0.0.1:3002/wp-json;
  }
  # 配置对/wp-content路径的请求处理
  location /wp-content {
    # 将对/wp-content的请求代理到本地的3002端口
    proxy_pass http://127.0.0.1:3002/wp-content;
  }
}

完整的配置:

# wordpress
server {
  listen 3002 default_server;
  server_name xm.moshanghua.net;
  root   /usr/share/nginx/html/wpblog;

  location / {
    index index.php index.html index.htm;
    try_files $uri $uri/ /index.php?q=$uri&$args;
  }

  location ~ \.php$ {
    try_files $uri =404;
    include fastcgi_params;
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  }
}

server {
  listen 80;
  server_name xm.moshanghua.net ;
  rewrite ^/(.*) https://xm.moshanghua.net/$1 permanent;
}

server {
  listen 80;
  listen 443 ssl http2;
  server_name xm.moshanghua.net;
  root   /usr/share/nginx/html/wpblog;

  ssl_certificate   /etc/nginx/xm.moshanghua.net.pem;
  ssl_certificate_key  /etc/nginx/xm.moshanghua.net.key;
  ssl_session_timeout 5m;
  ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
  ssl_protocols TLSv1.3 TLSv1.2 TLSv1.1;
  ssl_prefer_server_ciphers on;

  location / {
    proxy_pass http://127.0.0.1:3000;
  }

  # 下边两个是代理wordpress的一些服务
  location /wp-json {
    proxy_pass http://127.0.0.1:3002/wp-json;
  }

  location /wp-content {
    proxy_pass http://127.0.0.1:3002/wp-content;
  }
}

如果成功配置就到这里结束了。

sudo nginx -t测试一下配置,然后重启sudo systemctl restart nginx

再次运行项目

执行 yarn dev,如果能出现以下截图代表能够正常运行项目,

然后用自己的域名访问,如果能够正常访问按ctrl+c 退出即可;

使用 yarn pm2 这条命令去运行项目并开启文件更改自动重载项目,pm2 是 Nodejs 的一个守护进程,使用 pm2 logs 可查看日志。

使用 pm2 save 保存当前的应用列表,使用 pm2 startup 开机自动启动

运行项目完整流程:

 # 安装项目所需要的依赖文件
 yarn --registry=https://registry.npmmirror.com

 # 运行开发环境下的脚本
 yarn dev

 # 运行项目
 yarn pm2

 # 查看运行日志
 pm2 logs

 # 保存当前的应用列表
 pm2 save

 # 开机自动启动
 pm2 startup

至此通过域名https://xm.moshanghua.net/就能正常访问了

博客后台xm.moshanghua.net:3002/admin

博客后台如果不想带端口去访问,也可以NGINX配置下的WordPress一个服务器块里修改下规则反代到指定域名,也可以顺便加上 SSL,走HTTPS访问。

主题设置

Nuxtjs + WordPress主题使用说明请访问https://xuanmo.xin/details/2987

Wordpress 本身是没有运行天数、访客数统计等站点统计功能的,而站点统计却是能够直观展示站点运行状态的好功能,所以就可以自行加入该功能。日常小改主题期间,就自己也忍不住研究了下,即使轩陌大大已经弄了些,但自己还是想在加点什么@你懂的,那么下面我就将在百度上找到的一些经常使用到的函数罗列出来,方便自己改时参考,也奉献给大家看看(也许还有其他的函数,欢迎留言评论留下@口水)!

1、日志总数:



   <?php $count_posts = wp_count_posts(); echo $published_posts = $count_posts->publish;?> 

2、草稿数目:



    <?php $count_posts = wp_count_posts(); echo $draft_posts = $count_posts->draft; ?>  

3、评论总数:



    <?php echo $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->comments");?>  

4、建站天数:



    <?php echo floor((time()-strtotime("2016-08-18"))/86400); ?>  

记得将上述日期修改为你的建站日期

5、标签总数:



    <?php echo $count_tags = wp_count_terms('post_tag'); ?>  

6、页面总数:



    <?php $count_pages = wp_count_posts('page'); echo $page_posts = $count_pages->publish; ?>  

7、分类总数:



    <?php echo $count_categories = wp_count_terms('category'); ?>  

8、链接总数:



    <?php $link = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->links WHERE link_visible = 'Y'"); echo $link; ?>  

9、用户总数:



    <?php $users = $wpdb->get_var("SELECT COUNT(ID) FROM $wpdb->users"); echo $users; ?>  

10、最后更新:



    <?php $last = $wpdb->get_results("SELECT MAX(post_modified) AS MAX_m FROM $wpdb->posts WHERE (post_type = 'post' OR post_type = 'page') AND (post_status = 'publish' OR post_status = 'private')");$last = date('Y-n-j', strtotime($last[0]->MAX_m));echo $last; ?>  

11、访问总数:


<?php  
            $counterFile = "counter.txt";  
            $counterBackupFile = "counter_bak.txt";  
            function displayCounter($counterFile, $counterBackupFile) {  
                $fp = fopen($counterFile, "r");  
                $num = fgets($fp, 10);  
                fclose($fp);  
                $fp = fopen($counterBackupFile, "r");  
                $numBak = fgets($fp, 10);  
                fclose($fp);  
                if ($num < 10) {  
                    if ($numBak > 10) {  
                        $num = $numBak;  
                    }  
                }  
                if (!is_user_logged_in()) {  
                    $num += 1;  
                    $fp = fopen($counterFile, "w");  
                    fputs($fp, $num, 10);  
                    fclose($fp);  
                    if ($num % 20 == 0 && $num > 10) {  
                        $fp = fopen($counterBackupFile, "w");  
                        fputs($fp, $num, 10);  
                        fclose($fp);  
                    }  
                }  
                echo "$num"." 人次";  
            }  
  
            if (!file_exists($counterFile)) {  
                fopen($counterFile, "w");  
                fputs($fp, 0, 10);  
                fclose($fp);  
            }  
            if (!file_exists($counterBackupFile)) {  
                fopen($counterBackupFile, "w");  
                fputs($fp, 0, 10);  
                fclose($fp);  
            }  
   
            displayCounter($counterFile, $counterBackupFile);  
        ?>

最后

简单的介绍下食用方法

参考上面的函数,找到正在使用的主题的文件夹内的 sidebar.php 打开,创建一个 div ,用li来包裹函数,如果加运行天数的话,那里面的日期改为你的建站日期即可。然后保存。如果你嫌样式单调了,就加点css美化下,大功告成!(代码和方法都给了,再不会用的话....)


<div>  
    <h1>站点统计</h1>  
    <ul>  
        <li>文章总数:<?php $count_posts = wp_count_posts(); echo $published_posts = $count_posts->publish;?> 篇</li>  
        <li>页面总数:<?php echo wp_count_posts('page')->publish;?> 个</li>  
        <li>评论总数:<?php echo wp_count_comments()->total_comments?> 条</li>  
        <li>分类总数:<?php echo wp_count_terms('category')?> 个</li>  
        <li>标签总数:<?php echo wp_count_terms('post_tag')?> 个</li>  
        <li>运行天数:<?php echo floor((time()-strtotime("2014-04-05"))/86400);?> 天</li>
    </ul>  
</div> 
<!--函数也可以这样写-->
<div>  
    <h1>站点统计</h1>  
    <ul>  
        <li>文章总数:<?php $count_posts = wp_count_posts(); echo $published_posts = $count_posts->publish . '篇'; ?></li>  
        <li>页面总数:<?php echo wp_count_posts('page')->publish . '个';?></li>  
        <li>评论总数:<?php echo wp_count_comments()->total_comments . '条';?></li>  
        <li>分类总数:<?php echo wp_count_terms('category') . '个';?></li>  
        <li>标签总数:<?php echo wp_count_terms('post_tag') . '个';?></li>  
        <li>运行天数:<?php echo floor((time()-strtotime("2014-04-05"))/86400) . '天';?></li>
    </ul>  
</div>

知名内容管理系统WordPress已经发布4.8.2安全维护版本有一段时间了,该版本主要修复多个组件中存在的安全漏洞。
这些问题涉及到以前发布的所有旧版本,建议大家进行升级!
基于安全考虑建议使用WordPress的站点尽快升级至最新版本, 新版本已经加强了对第三方插件漏洞的防御。
另外本次更新后文本小工具已经可以识别HTML代码, 但是使用文本小工具添加HTML代码在前台不会显示。
因此如果你需要在前台展示HTML代码侧边栏请更新至 v4.8 版以上使用自定义HTML代码小工具栏进行添加。
WordPress v4.8.2安全维护版本现已发布

WordPress v4.8.2更新日志:
1、某个函数可能导致潜在的SQL注入, 尽管WordPress不容易受该漏洞影响,但其他插件可能会影响;
2、新版本已经加强了对第三方插件存在的漏洞进行防御,同时还会对主题存在的漏洞进行安全防御;
3、该版本已经修复oEmbed中发现的XSS跨站脚本攻击漏洞,由WordPress安全小组xKnown提交;
4、该版本已经修复可视化编辑器中的XSS跨站脚本攻击漏洞,由Rodolfo Assis提交该漏洞;
5、该版本已经修复文件解压过程中存在的遍历路径漏洞,该漏洞由Alex Chapman提交;
6、该版本已经修复在插件编辑器中存在的XSS跨站脚本攻击漏洞,该漏洞由陈瑞奇提交;
7、该版本已经修复用户和术语编辑界面存在的某个重定向问题,该问题由Yasin Soliman提交;
8、该版本已经修复定制程序中存在的遍历路径漏洞,该漏洞由WordPress安全小组Weston Ruter提交;
9、该版本已经修复模板名称中存在的XSS跨站脚本攻击漏洞,该漏洞由Luka提交;
10、该版本已经修复动态链接库中存在的XSS跨站脚本攻击漏洞,该漏洞由Anas Roubi提交;
除了上述的安全问题,WordPress 4.8.2 还包含了4.8版本系列的6处维护修复。
除此之外WordPress v4.8.2版还将Twemoji升级到v2.5.0版,该版本已经解决了部分Emoji表情的渲染问题。
更多信息,请参阅 发行说明更新列表
目前WordPress v4.8.2 简体中文版本尚未发布,有兴趣的用户可关注WordPress官方中文版查看最新动态。
或者你可以在 仪表盘 – 更新 界面,一键更新到最新版本,或者到官方下载后手动更新:https://wordpress.org/download/
看完上述安全问题后,吓得我立马打开博客更新了笑哭
最后,程序多更新,才能保证网站不被恶意攻击。虽然更新后也有其他的一些问题,但总比不更新前安全一点斜眼笑表情

之前自己安装好的wordpress博客,因为密码是很久之前临时打的,因为懒,每次都是自动登陆,慢慢的就忘记了……结果悲剧了,也没改过密码,迟到今天,不知怎么的,把游览器上的cookie清除了,密码自然就没了,看到这一幕,我开始慌了,各种尝试都错误,心里很绝望啊!!!

wordpress后台密码忘了怎么办

1、这里需要用到phpMyAdmin,虚拟机一般都有装这个功能,如果是自己的服务器或者本地可以下载安装一个这个软件,它是mysql数据库中的一个管理工具。(当然根据自己所在的服务商提供的管理工具或者自己安装的为准吧,都大同小异)

2、进入phpmyadmin后找到你的wordpres数据库,并展开对应的数据库名,点开wp_users。

3、这里你会看到之前你的管理账号的密码user_pass字段,因为是经过加密的密码所以你不能直接修改成十进制的普通密码。点击图中的“编辑”

4、修改【user_pass】项的值,写入 bfa0022e2da2d6ea1dfe8cec00964ba7 ,点击执行。(这里你不一定要写我列出的值,可以自己写其他的)


注:由于MD5不可逆运算,知道MD5码并不能知道真实密码,所以直接改MD5码。
bfa0022e2da2d6ea1dfe8cec00964ba7是moshanghua的32位MD5码。

5、完成之后,你就可以用“moshanghua”登陆后台就进去了,然后去修改下密码,。

结束语

因为我的懒,导致了忘记密码,现在,密码风波到这也就解决了,我这心也安下来了(虚惊一场,吓死宝宝了QAQ),
其实,忘记密码不止这一种方法,还有很多,这里就不说了,小伙伴自己研究吧