WordPress, 当初之所以研究这个, 目的是在于开发一个多租户系统应用. 总的来说, WordPress 给了我不少启发和影响. 为此, 我决定这个研究心得分享出去.
总的来说, 这篇文章参考了很多朋友们的博客, 同时也包括官方网站.
围绕如下五个大主题进行讨论, 其中有些重复了, 比如 WordPress 的安装, 插件和主题下载等等, 有这方面经验的同学, 可以不必细看, 直接忽略即可, 这篇文章大家可以根据自己感兴趣的来看.
一, WordPress 研究..................................................................................................................................... 1
1.wordpress 介绍
2.wordpress 研究目的
3.wordpress 安装
二, WordPress 主题..................................................................................................................................... 1
1. 主题架构图
2. 主题 zip 包
3. 主题上传和下载
4. 主题对于 Java 开发的启示
三, WordPress 插件.................................................................................................................................... 1
1. 如何下载和安装插件
2. 如何使用插件
3. 插件开发带来的好处和弊端
4.wordpress 插件开发对于 Java 开发效率的启示
四, WordPress 数据库分析....................................................................................................................... 1
五, WordPress 运行原理............................................................................................................................ 1
一, WordPress 研究说明
1.WordPress 介绍
WordPress 是使用 https://baike.baidu.com/item/PHP/9337 语言开发的博客 https://baike.baidu.com/item/博客 平台, 用户可以在支持 PHP 和 MySQL 数据库的服务器上架设属于自己的网站. 也可以把 WordPress 当作一个内容管理系统 ( https://baike.baidu.com/item/CMS/315935 ) 来使用.
WordPress 是一款个人博客系统, 并逐步演化成一款内容管理系统软件, 它是使用 PHP 语言和 https://baike.baidu.com/item/MySQL/471251 数据库开发的. 用户可以在支持 PHP 和 MySQL 数据库的服务器上使用自己的博客.
WordPress 有许多第三方开发的免费模板, 安装方式简单易用. 不过要做一个自己的模板, 则需要你有一定的专业知识. 比如你至少要懂的标准通用标记语言下的一个应用 https://baike.baidu.com/item/html 代码 https://baike.baidu.com/item/代码 , https://baike.baidu.com/item/CSS/5457 , https://baike.baidu.com/item/PHP/9337 等相关知识.
WordPress 官方支持中文版, 同时有爱好者开发的第三方中文语言包, 如 wopus 中文语言包. WordPress 拥有成千上万个各式插件和不计其数的主题模板样式.
2. 研究的目的
学习和研究 WordPress 的运行机制, 致力于提高开发效率, 节约开发成本和时间, 构建一个高效稳定灵活适应变化的 web 系统.
3.wordpress 的安装
要想使用, 必先安装, wordpress 的安装非常简单, 5 分钟安装教程.
环境: Linux+Apache+MySQL+PHP(lamp 环境)
说明: 演示环境为 ubuntu16.04,centos7 及其以上与此大同小异
安装步骤:
(1) 安装 apache
安装命令: apt-get install apache2
(2) 安装 MySQL
安装命令: apt-get install mysql-server mysql-client
(3) 安装 PHP
a. 安装命令:
- apt-get install php7.0
- apt-get install libapache2-mod-php7.0
- apt-get install php7.0-mysql
b. 编辑文件
vim /var/www/html/phpinfo.php
内容为: <?php echo phpinfo();?>
b. 重启服务并在浏览器输入对应的地址
- service apache2 restart
- service mysql restart
浏览器输入: http:// IP 地址 / phpinfo.php, 出现 PHP 版本界面
这样就表示 apache+php 是没有问题的
(4) 安装 PHPMyAdmin
a. 安装命令
sudo apt-get install phpMyAdmin
安装时: 空格选择 apache2,enter 确定, 下一步配置数据库, 输入密码.
b. 软链接关联
sudo ln -s /usr/share/phpmyadmin /var/www/html
c. 启用 Apache mod_rewrite 模块, 后面修改 wordpress 链接会用到
sudo a2enmod rewrite
d. 重启服务
service php7.0-fpm restart
e. 配置 vim /etc/apache2/apache2.conf
配置文件尾部添加如下内容:
- AddType application/x-httpd-php .php .htm .html
- AddDefaultCharset UTF-8
说明: 这里安装 phpmyadmin 的目的是便于通过 web 界面添加对应的数据库和增加用户赋予权限
不安装 phpmyadmin 也是可以的. 不安装通过如下步骤也可以完成这个目的.
步骤如下:
- # 登录数据库 mysql -u root -p # 创建数据库
- CREATE DATABASE wordpress;
- # 创建数据库用户和密码
- CREATE USER wordpressuser@localhost IDENTIFIED BY '123456';
- # 设置 wordpressuser 访问 wordpress 数据库权限
- GRANT ALL PRIVILEGES ON wordpress.* TO wordpressuser@localhost IDENTIFIED BY '123456';
- # 刷新数据库设置
- FLUSH PRIVILEGES; # 退出数据库 exit
(1) 安装 WordPress
Wordpress 中文版路径为: https://cn.wordpress.org/wordpress-4.8-zh_CN.zip
英文版路径: http://wordpress.org/latest.tar.gz
a. 下载
wget +url 即可
例如: wget https://cn.wordpress.org/wordpress-4.8-zh_CN.zip
b. 解压
tar -xzvf latest.tar.gz 或 unzip wordpress-4.8-zh_CN.zip
c. 远程批量传输
sudo rsync -avP /home/test/wordpress /var/www/html/wordpress/
d. 修改配置
- cd /var/www/html/wordpress
- cp wp-config-sample.php wp-config.php
- vim wp-config.php
修改内容如下: 将其修改为通过 phpmyadmin 添加的数据库名和用户名及其密码或者是通过命令行添加的数据库名和用户名及其密码.
说明: 这里的数据库 wordpress, 将到时生成对应的 11 张表.
链接可参考: https://jingyan.baidu.com/article/215817f7b865121edb142365.html
二, WordPress 主题
1. 主题架构图
上述架构图是许多模板主题共同的地方
2. 主题模板 zip 包
通常主题模板是以 zip 包的形式存在, 解压后如下所示:
从文件名字我们也可以推断出其大致作用, 就这个主题而言, 从上至下, 它们的作用分别是:
css(文件夹): 存放 css 文件
genericons(文件夹): 存放字体文件
inc(文件夹): 存放 php 文件, 文件内一般是自定义函数
js(文件夹): 存放 js 文件
languages(文件夹): 存放语言文件
template-parts(文件夹): 为了代码简洁, 作者把一些代码 (可能重复用到的) 分开放到了此文件夹下
404.php: 出现 404 错误时使用的文件
archive.php: 分类页面
comments.php: 评论
footer.php: 页脚
functions.php: 定义函数
header.php: 页头
image.php: 图片
index.php: 首页
page.php: 页面(page http://codex.wordpress.org/Posts )
rtl.css: 关于字体的一些样式
screenshot.php: 主题缩略图, 在后台显示
search.php: 搜索页面
searchform.php: 搜索框
sidebar.php: 侧边栏
sidebar-content-bottom.php: 侧边栏底部
single.php: 文章 (post http://codex.wordpress.org/Pages ) 页面
style.css: 样式文件
文件执行顺序:
- <dependency>
- <groupId>org.jeewx</groupId>
- <artifactId>jeewx-api</artifactId>
- <version>1.2.0</version>
- </dependency>
- define('WP_USE_THEMES', true);
- # 定义是否加载主题文件, true 为加载;
- require('./wp-blog-header.php');
- # 加载 wp-blog-header.php 文件, 该文件用于启动 WordPress 环境及模板;
- if ( !isset($wp_did_header) ) {
- $wp_did_header = true;
- require_once( dirname(__FILE__) . '/wp-load.php' );
- wp();
- require_once( ABSPATH . WPINC . '/template-loader.php' );
- }
来源: https://www.cnblogs.com/youcong/p/9671294.html