「WORDPRESS」- 开源的内容管理系统 | WORDPRESS

认识

官网:https://wordpress.org/
文档:https://wordpress.org/documentation/
仓库:https://wordpress.org/download/source/

WordPress 是个开源的内容管理系统(CMS),用于创建和管理网站和博客。

组成

它由 PHP 编写,基于 MySQL 数据库,并在 GNU 通用公共许可证下发布。

性质

WordPress 提供了一个易于使用的界面,允许用户通过添加和编辑内容,更改主题和插件来定制其网站外观和功能。

WP-CLI | https://wp-cli.org/

提供 API 操作

通过 WordPress API 可以操作 WordPress 站点的方方面面,比如文章增删改查、选项管理、主题修改、插件开发等等。

按照功能特征,这些 API 被分为不同的章节,详细内容参考官方手册。https://codex.wordpress.org/WordPress_APIs

REST API

主题 | 自定义界面配置

LikeAWiki Version: 2.0.3 by Larry Judd Oliver Tradesouthwest
https://themes.tradesouthwest.com/themes.php
content.php 在 <?php trackback_rdf(); ?> 下,缺少一个 </div> 元素,导致渲染后的 post 多级嵌套;

https://tradesouthwest.com/

通知 | 发送邮件通知

# WP Mail SMTP – 设置站点发送邮箱;
https://wordpress.org/plugins/wp-mail-smtp/

构建

安装与升级

环境要求

Requirements | https://wordpress.org/about/requirements/

DeepSeek / wordpress 资源要求

一、核心要求(最低 → 推荐)

  • PHP:7.4+ → 8.1+(最重要,性能提升巨大)
  • 内存:64MB → 512MB+ (防止卡顿和白屏)
  • 数据库:MySQL 5.7+ → MySQL 8.0+ 或 MariaDB 10.6+
  • 服务器:Apache → Nginx 或 LiteSpeed(性能更好)

二、按流量快速参考

  • 小站 / 个人博客(日访 <1k):1 核 CPU、512MB-1GB 内存、SSD 硬盘。
  • 中型站 / 电商(日访 1k-10k):2-4 核 CPU、2-4GB 内存、SSD 硬盘 +CDN。
  • 大型高流量站(日访>10k):4+ 核 CPU、8GB+ 内存、高级缓存(Redis)+ 负载均衡。

三、核心优化建议(省钱关键)

  1. 必须装缓存插件。
  2. 必须用 CDN 放图片等静态文件。
  3. 务必使用轻量主题并删除不用的插件。
  4. 监控资源使用情况,按需升级。

总结:起步 512MB 内存 +PHP8.1+ 缓存插件 +CDN,绝大多数网站够用。

容器镜像

https://hub.docker.com/_/wordpress

[I] SRC: docker.io/library/wordpress:6.7.2
[I] DST: ccr.ccs.tencentyun.com/d3rm-3rd/docker.io_library_wordpress:6.7.2

修改 php.ini 配置?

  • 根据 https://hub.docker.com/_/wordpress 描述,通过镜像构建 COPY .ini $PHP_INI_DIR/conf.d/ 中即可。
  • 我们 2025-11-03 选择通过绑定挂载的方式将 .ini 保存到 $PHP_INI_DIR/conf.d/ 中,通常是 /usr/local/etc/php/conf.d/ 中

通过 Docker Compose 部署

Quickstart: Compose and WordPress | Docker Documentation

通过该方式部署的原因,是为了站点的便捷迁移:

  • 配置及数据”集中“存储,在迁移站点时,能够快速完成迁移;
  • 在迁移站点时,新主机仅需 Docker 服务;而传统的部署方式,需要预先搭建运行环境;
version: "3.9"

services:
  db:
    image: mysql:5.7
    volumes:
      - ./data-mysql:/var/lib/mysql
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: somewordpress
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wordpress
      MYSQL_PASSWORD: wordpress

  wordpress:
    depends_on:
      - db
    image: wordpress:latest
    volumes:
      - ./data-wordpress:/var/www/html
    ports:
      - "8000:80"
    restart: always
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: wordpress
      WORDPRESS_DB_NAME: wordpress

升级 5.1.8 到 5.6 版本

WordPress 国内更新方法详解!
Updating WordPress | WordPress.org

我们需要将 WordPress 升级到最新版本(01/10/2021,WordPress 5.6)。但是,通过后台升级会失败,经过排查是由于无法访问 wordpress.org 而导致失败。

该笔记将记录:在国内,如何升级 WordPress 站点。

第一步、数据备份(重要)
1)停止站点,防止数据写入,进行数据库备份;
2)备份站点:rsync -a /path/to/website/ /path/to/website.backup/

第二步、更新文件
1)下载新版(WordPress 5.6)
2)更新文件:rsync -a /path/to/wordpress-5.6/ /path/to/website/

第三步、访问站点
访问站点,将会提示「升级 WordPress 数据」,进行升级即可。

注意事项

在部分文章中,提到升级 wp-admin/ 与 wp-include/ 即可,但是我们升级失败了。然后,我们直接使用 rsync 升级全部文件(因为已经备份,所以不再担心升级失败的问题(其实我们没有进行数据库的备份,也算是在冒险))。

应用

其被广泛用于博客、新闻、商业和电子商务网站等各种类型的网站。

预览时,在主界面中,不现实工具栏。
Users / Profile / Toolbar / Show Toolbar when viewing site

显示文章数
Settings -> Reading -> Blog pages show at most
How to Change the Number of Posts Displayed On Your WordPress Blog Page

方案 and 插件

# WP Reset – 重置,用于重新初始化 WordPress 数据;
https://wordpress.org/plugins/wp-reset/

# UpdraftPlus – Backup/Restore – 数据库备份
https://wordpress.org/plugins/updraftplus/

# Safe PHP Code Widget – 使用代码作为空间,某些小插件不支持作为控件
https://wordpress.org/plugins/safe-php-code-widget/

# One Click Demo Import – 导入演示数据
https://wordpress.org/plugins/one-click-demo-import/

# Contact Form 7 – 联系我们
https://wordpress.org/plugins/contact-form-7

<?php echo do_shortcode( '[contact-form-7 id="1234" title="Contact form 1"]' ); ?>

# Akismet Anti-Spam – 屏蔽垃圾邮件
https://wordpress.org/plugins/akismet

# Max upload size – 上传文件大小
https://wordpress.org/plugins/max-upload-size

# Disable Comments – By Samir Shah – 彻底禁用评论
https://wordpress.org/plugins/disable-comments

# WP-UTF8-Excerpt – 使文章摘要支持多字节语言
https://wordpress.org/plugins/wp-utf8-excerpt

# WPS Hide Login – 隐藏后台登录地址
https://wordpress.org/plugins/wps-hide-login

# Change wp-admin login – 隐藏后台登录地址
https://wordpress.org/plugins/change-wp-admin-login

Import and Export

我们需要导出文章到其他站点,来测试主题的样式。

通过 admin.php / Toos / Import and Export 功能,即可导入导出。

如果出现失败,则在跟目录增加 <?php phpinfo(); ?> 来查看相关信息。

补充说明:

  • Nginx / client_max_body_size
  • php.ini / upload_max_filesize = 100M / post_max_size = 100M

场景 | 页面 | 添加自定义代码 | Page | Custom Code

How to Add Header and Footer Code in WordPress (the Easy Way)

在 WordPress 中,我们能够添加自定义代码,这能够通过修改主题文件实现。但是如果主题升级,那么我们的修改将会丢失。因此,通过修改主题文件来添加自定义代码并不是个好主意。

好在有相关的插件解决类似问题,比如 Insert Headers and Footers 插件,这也是我们将要介绍的插件(类似的插件有很多,我们选择当前下载量和排名比较靠前的同类插件)。

该笔记将记录:在 WorkPress 中,如何使用 Insert Headers and Footers 插件来添加自定义代码,以及相关问题处理。

第一步、安装插件
安装插件的方法不再赘述,直接在管理后台搜索并安装 Insert Headers and Footers 插件即可。

第二步、添加自定义代码
在管理后台中,访问 Settings » Insert Headers and Footers 页面,然后添加自定义代码。
在添加完成后,点击 Save 保存,并刷新页面查看效果。

改进

常见错误汇总

Briefly unavailable for scheduled maintenance. Check back in a minute.

How to Fix “Briefly Unavailable for Scheduled Maintenance. Check Back in a Minute” in WordPress

问题描述:在安装插件、主题升级时,如果刷新页面或者操作失败,会显示如下提示:

Briefly unavailable for scheduled maintenance. Check back in a minute.

解决方案:移除 ./.maintenance 文件。