转自我的个人博客https://blognas.hwb0307.com。欢迎关注!
经过《Docker系列 WordPress系列 安装WP Githuber MD》、《Docker系列 WordPress系列 WordPress上传或更新Markdown的最佳实践》等地方的学习,我们已经掌握了博客写作的一些提高效率的技巧。相信你这个时候已经迫不及待地想要更进一步——搞一个漂亮的WordPress主题!
是的,我其实也很想讲WordPress主题了,毕竟那是建站最有趣的部分!不过在此之前,我觉得有一些东西你需要了解一下,那就是WordPress的目录结构。
通过Shell,我们可以在一定程度上洞察WordPress是如何工作的。而且你可能会发现,它在本质上和Nextcloud、Chevereto这些应用的目录是十分相似的。这可能是由于它们都是基于PHP的吧!
下面我们快速地了解一些相关知识。GO!
我们可以回看《Docker系列 WordPress系列 搭建WordPress个人博客》,看看它的yml文件的内容:
app:
image: wordpress:latest
restart: unless-stopped
ports:
- 4145:80 # 按需修改。与防火墙开放端口一致。
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_NAME: wordpress
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: yourpassword # 按需修改
volumes:
- './app:/var/www/html'
links:
- db:db
networks:
- default
我们可以看到,在用Docker搭建的时候,我们将/var/www/html
目录挂载到了.app
里。所以我们就进去里面看一下。
设置一下全局路径:
html=~/docker/wordpress/app && cd $html
我们可以看一下一层目录:
tree -L 1
输出为:
├── index.php
├── license.txt
├── readme.html
├── wp-activate.php
├── wp-admin # 这是个文件夹
├── wp-blog-header.php
├── wp-comments-post.php
├── wp-config-docker.php
├── wp-config.php
├── wp-config-sample.php
├── wp-content # 这是个文件夹
├── wp-cron.php
├── wp-includes # 这是个文件夹
├── wp-links-opml.php
├── wp-load.php
├── wp-login.php
├── wp-mail.php
├── wp-settings.php
├── wp-signup.php
├── wp-trackback.php
└── xmlrpc.php
下面我们选一些比较重要的文件进行说明。
这是一个很重要的文件,可以更改一些默认设置。甚至和安全问题有关。
├── wp-config.php
├── wp-config-sample.php
wp-config-sample.php
是一个示例文件,你可以在里面看到一些示例。实际生效的是wp-config.php
。这个文件里有一些我曾经接触过的比较重要的项目。比如:
define("WP_DEBUG", false);
define("WP_DEBUG_LOG", false);
如果这两项设置为true的话,这个日志可能会向公众发布你的网站信息。一般只有在网站调试的时候才可能用到。如果你用Wordfence
的话,这一项会被定义为高危
。
另外还有一个,就是可以强行设置默认站点URL:
define('WP_HOME','http://localip:port');
define('WP_SITEURL','https://exampledomain.com');
我以前在无443端口的机器上需要用到这一项;在VPS里则不需要。
// *配置HTTP代理服务器* //
define('WP_PROXY_HOST', '192.168.1.150');
define('WP_PROXY_PORT', '7890');
define('WP_PROXY_USERNAME', '');
define('WP_PROXY_PASSWORD', '');
define('WP_PROXY_BYPASS_HOSTS', 'localhost');
我是在网上偶然发现的,自己没有试过。也没搞懂它的应用场景。有大佬知道的不?
如果设置:
define( 'ALLOW_UNFILTERED_UPLOADS', true);
你就可以在媒体库上传各种格式的文件。
这个文件你平时是不会直接操作它的。不过,它却是很多自动同步(包括我们之前用到的m2w
)可以成功的核心文件。
total 24K
-rw-r--r-- 1 www-data www-data 28 Jan 9 2012 index.php
drwxr-xr-x 4 www-data www-data 4.0K Apr 27 09:17 languages
drwxr-xr-x 4 www-data www-data 4.0K Apr 27 10:44 plugins
drwxr-xr-x 6 www-data www-data 4.0K Apr 27 09:17 themes
drwxr-xr-x 2 www-data www-data 4.0K Apr 27 10:44 upgrade
drwxr-xr-x 3 www-data www-data 4.0K Apr 27 09:16 uploads
uploads
文件夹存放的是你平时在多媒体里上传的图片。
themes
是你所下载的主题所存放的位置。
plugins
是你所下载的插件的位置
我正在运行的博客,这个目录下是这样的:
total 52K
-rw-r--r-- 1 www-data www-data 1.2K Apr 21 14:01 advanced-cache.php
drwxr-xr-x 4 www-data www-data 4.0K Apr 27 14:17 cache
-rw-r--r-- 1 www-data www-data 28 Jan 8 2012 index.php
drwxr-xr-x 4 www-data www-data 4.0K Apr 10 06:13 languages
drwxr-xr-x 19 www-data www-data 4.0K Apr 26 11:36 plugins
drwxr-xr-x 7 www-data www-data 4.0K Apr 12 16:39 themes
drwxr-xr-x 2 www-data www-data 4.0K Apr 26 11:36 upgrade
drwxr-xr-x 4 www-data www-data 12K Apr 26 13:33 uploads
drwxr-xr-x 2 www-data www-data 4.0K Apr 16 05:58 w3tc-config
drwxr-xr-x 2 www-data www-data 4.0K Apr 27 13:41 wflogs
-rw------- 1 www-data www-data 3.6K Apr 27 03:33 wp-cache-config.php
内容多了好多。这主要是有一些插件会在这个文件平里托管它们的源文件。
这里我以argon主题为例,它的文件还挺多的:
total 1000K
-rw-r--r-- 1 www-data www-data 4.8K Apr 11 08:13 404.php
-rw-r--r-- 1 www-data www-data 17K Apr 11 08:13 admin.css
-rw-r--r-- 1 www-data www-data 1.1K Apr 11 08:13 archive.php
-rw-r--r-- 1 www-data www-data 86K Apr 11 08:13 argontheme.js
drwxr-xr-x 8 www-data www-data 4.0K Apr 11 08:13 assets
-rw-r--r-- 1 www-data www-data 13K Apr 11 08:13 comments.php
-rw-r--r-- 1 www-data www-data 416 Apr 11 08:13 comments-shuoshuo-preview.php
-rw-r--r-- 1 www-data www-data 7.3K Apr 11 08:13 emotions.php
-rw-r--r-- 1 www-data www-data 7.3K Apr 17 06:32 footer.php
-rw-r--r-- 1 www-data www-data 111K Apr 18 16:21 functions.php
drwxr-xr-x 4 www-data www-data 4.0K Apr 11 08:13 gutenberg
-rw-r--r-- 1 www-data www-data 26K Apr 11 08:13 header.php
-rw-r--r-- 1 www-data www-data 675 Apr 11 08:13 index.php
-rw-r--r-- 1 www-data www-data 194 Apr 11 08:13 info.json
drwxr-xr-x 2 www-data www-data 4.0K Apr 11 08:13 languages
-rw-r--r-- 1 www-data www-data 35K Apr 11 08:13 LICENSE
-rw-r--r-- 1 www-data www-data 3.4K Apr 11 08:13 login.css
-rw-r--r-- 1 www-data www-data 1.2K Apr 11 08:13 msgboard.php
-rw-r--r-- 1 www-data www-data 533 Apr 11 08:13 page.php
-rw-r--r-- 1 www-data www-data 51K Apr 11 08:13 parsedown.php
-rw-r--r-- 1 www-data www-data 4.8K Apr 11 08:13 README_en.md
-rw-r--r-- 1 www-data www-data 28K Apr 11 08:13 README.md
-rw-r--r-- 1 www-data www-data 6.6K Apr 11 08:13 README_ru.md
-rw-r--r-- 1 www-data www-data 4.7K Apr 11 08:13 README_tw.md
-rw-r--r-- 1 www-data www-data 113K Apr 11 08:13 screenshot.png
-rw-r--r-- 1 www-data www-data 687 Apr 11 08:13 searchform.php
-rw-r--r-- 1 www-data www-data 2.7K Apr 11 08:13 search.php
-rw-r--r-- 1 www-data www-data 152K Apr 11 08:13 settings.php
-rw-r--r-- 1 www-data www-data 1.2K Apr 11 08:13 shuoshuo.php
-rw-r--r-- 1 www-data www-data 14K Apr 12 02:36 sidebar.php
-rw-r--r-- 1 www-data www-data 4.0K Apr 11 08:13 single.php
-rw-r--r-- 1 www-data www-data 544 Apr 11 08:13 single-shuoshuo.php
drwxr-xr-x 4 www-data www-data 4.0K Apr 11 08:13 stickers
-rw-r--r-- 1 www-data www-data 146K Apr 12 03:28 style.css
drwxr-xr-x 2 www-data www-data 4.0K Apr 11 08:13 template-parts
drwxr-xr-x 8 www-data www-data 4.0K Apr 11 08:13 theme-update-checker
-rw-r--r-- 1 www-data www-data 594 Apr 11 08:13 timeline.php
-rw-r--r-- 1 www-data www-data 3.3K Apr 11 08:13 unsubscribe-comment-mailnotice.php
-rw-r--r-- 1 www-data www-data 59K Apr 11 08:13 useragent-parser.php
其中footer.php
、functions.php
文件经常可以被魔改,以实现一些特效,比如本博客的页面雪花、点击特效、看板娘(就是那个猫猫)。
这一部份不是很重要,大家了解一下即可。和这部分相关的内容,在以后的具体实现时会再提起。暂时就这样!
更多WordPress配置持续关注吧!