Docker系列 WordPress系列 WordPress目录结构
本文最后更新于 55 天前,如有失效请评论区留言。

前言

经过Docker系列 WordPress系列 安装WP Githuber MDDocker系列 WordPress系列 WordPress上传或更新Markdown的最佳实践等地方的学习,我们已经掌握了博客写作的一些提高效率的技巧。相信你这个时候已经迫不及待地想要更进一步——搞一个漂亮的WordPress主题!

是的,我其实也很想讲WordPress主题了,毕竟那是建站最有趣的部分!不过在此之前,我觉得有一些东西你需要了解一下,那就是WordPress的目录结构

通过Shell,我们可以在一定程度上洞察WordPress是如何工作的。而且你可能会发现,它在本质上和Nextcloud、Chevereto这些应用的目录是十分相似的。这可能是由于它们都是基于PHP的吧!

下面我们快速地了解一些相关知识。GO!

WordPress目录

我们可以回看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

下面我们选一些比较重要的文件进行说明。

php.ini

这个文件默认是没有的。我们新建一个php.ini

work=~/docker/wordpress
vim $work/app/php.ini

我们要在这里设置一些参数,方便后期上传较大的文件

upload_max_filesize = 512M
post_max_size = 513M
memory_limit = 515M

记得将用户(组)调整为www-data:www-data:

sudo chown 33:33 $work/app/php.ini

重启即可生效:

cd $work && docker-compose restart

wp-config文件

这是一个很重要的文件,可以更改一些默认设置。甚至和安全问题有关。

├── wp-config.php
├── wp-config-sample.php

wp-config-sample.php是一个示例文件,你可以在里面看到一些示例。实际生效的是wp-config.php。这个文件里有一些我曾经接触过的比较重要的项目。比如:

WP_DEBUG

define("WP_DEBUG", false);
define("WP_DEBUG_LOG", false);

如果这两项设置为true的话,这个日志可能会向公众发布你的网站信息。一般只有在网站调试的时候才可能用到。如果你用Wordfence的话,这一项会被定义为高危

WP_HOME/WP_SITEURL

define('WP_HOME','http://localip:port');
define('WP_SITEURL','https://exampledomain.com');
  • 任意域名访问

暂未验证

define(‘WP_ALLOW_MULTISITE’, true);
define('WP_SITEURL', 'https://' . $_SERVER['HTTP_HOST']);
define('WP_HOME', 'https://' . $_SERVER['HTTP_HOST']);
define( 'WP_CONTENT_URL', '/wp-content');
  • 多域名访问

暂未验证

define('WP_ALLOW_MULTISITE', true);
$domain = array("www.hwb0307.com", "blognas.hwb0307.com", "hwb0307.com");
if(in_array($_SERVER['HTTP_HOST'], $domain)){
    define('WP_SITEURL', 'https://' . $_SERVER['HTTP_HOST']);
    define('WP_HOME', 'https://' . $_SERVER['HTTP_HOST']);
}
define( 'WP_CONTENT_URL', '/wp-content');

Proxy

// *配置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');

我是在网上偶然发现的,自己没有试过。也没搞懂它的应用场景。有大佬知道的不?

ALLOW_UNFILTERED_UPLOADS

如果设置:

define( 'ALLOW_UNFILTERED_UPLOADS', true);

你就可以在媒体库上传各种格式的文件。

xmlrpc.php文件

这个文件你平时是不会直接操作它的。不过,它却是很多自动同步(包括我们之前用到的m2w)可以成功的核心文件。

wp-content目录

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

内容多了好多。主要是有一些插件会在这个文件夹里托管它们的源文件。

一个典型的theme

这里我以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.phpfunctions.php文件经常可以被魔改,以实现一些特效,比如本博客的页面雪花、点击特效、看板娘(就是那个猫猫)。它们的内容通常可以在后台用主题编辑器进行改动;当然也可以在Shell里用Vim编辑器改动。

小结

这一部份不是很重要,大家了解一下即可。和这部分相关的内容,在以后的具体实现时会再提起。暂时就这样!

更多WordPress配置持续关注吧!

版权声明:除特殊说明,博客文章均为Bensz原创,依据CC BY-SA 4.0许可证进行授权,转载请附上出处链接及本声明。 如有需要,请至学习地图系统学习本博客的教程。加Telegram群可获得更多帮助喔! | 博客订阅:RSS | 广告招租:留言板 | 博客VPS |
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇