XM /starter_wordpress
XM Media 创建 WordPress 网站的启动器
Requires
- php: 8.1.*
- ext-json: *
- composer/installers: ^2.1
- oscarotero/env: ^2.1
- roave/security-advisories: dev-master
- roots/bedrock-autoloader: ^1.0
- roots/soil: ^4.0
- roots/wordpress: 6.6.2
- roots/wp-config: ^1.0
- roots/wp-password-bcrypt: ^1.0
- vlucas/phpdotenv: ^5.4
- wp-cli/wp-cli-bundle: ^2.3
- wpackagist-plugin/acf-content-analysis-for-yoast-seo: ^3.0
- wpackagist-plugin/akismet: ^5.0
- wpackagist-plugin/contact-form-7: ^5.8
- wpackagist-plugin/flamingo: ^2.0
- wpackagist-plugin/postmark-approved-wordpress-plugin: ^1.11
- wpackagist-plugin/svg-support: ^2.3
- wpackagist-plugin/wordfence: ^7.10.3
- wpackagist-plugin/wordpress-seo: ^23.4
- wpengine/advanced-custom-fields-pro: ^6.2.5
Requires (Dev)
- symfony/var-dumper: ^6.0
- wpackagist-plugin/query-monitor: ^3.7
This package is auto-updated.
Last update: 2024-09-13 19:28:44 UTC
README
- 必需:composer, node, yarn
- 可选:wp-cli
- 基于 https://github.com/roots/bedrock
初始设置
- 创建新项目
composer create-project xm/starter_wordpress project-name --stability=dev --no-install --remove-vcs
- 将
.env.example复制到.env。 - 在
.env文件中更新环境变量
- 数据库:定义
DATABASE_URL以使用 DSN (例如mysql://user:password@127.0.0.1:3306/db_name) WP_ENV- 设置为环境 (开发,测试,生产)WP_HOME- WordPress 主页的完整 URL (https://dev.example.com)WP_SITEURL- 包含子目录的 WordPress 的完整 URL (https://example.com/wp)WPCOM_API_KEY- WordPress.com API 密钥用于 Akismet 和 Jetpack(或其他 WordPress 付费插件)AUTH_KEY,SECURE_AUTH_KEY,LOGGED_IN_KEY,NONCE_KEY,AUTH_SALT,SECURE_AUTH_SALT,LOGGED_IN_SALT,NONCE_SALT来自:https://roots.io/salts.htmlACF_PRO_KEY- 添加 ACF 密钥
- 服务器设置
- 如果使用 InterWorx 或 CentOS,上传
setup_dev.sh并运行:sh ./setup_dev.sh - 上传文件到服务器。不要上传(大多数在
.gitignore中列出)/.git和/.idea- 以及以下内容(这些只在你安装了 JS 或 PHP 包的情况下存在)
/public/wp/public/app/plugins/*/vendor/bin/node_modules
- 安装 Composer(如果尚未安装)
- 添加
.env(复制.env.example并更新)。 - 安装 PHP 包/供应商:
php composer.phar install - 运行
. ./node_setup.sh(这将设置 node 并安装 JS 包 – 需要 yarn 已安装)。 - 运行
yarn dev或yarn build(用于生产)以编译 JS 和 CSS 文件。 - 将 public 链接到 html:
rm -rf html && ln -s public html - 为 ACF 在供应商和插件目录之间创建符号链接:
ln -s /home/<user>/dev.example.com/vendor/advanced-custom-fields/advanced-custom-fields-pro public/app/plugins/acf - 添加 cron:
*/15 * * * * curl https://dev.example.com/wp/wp-cron.php(这是每 15 分钟一次)。自动 cron 已禁用。 - 调整 bin 目录的权限:
chmod u+x bin/* - 安装 WP:
bin/wp core install --allow-root --url=https://<url> --title="<site-title>" --admin_user=<username> --admin_email=<email>
- 如果使用 InterWorx 或 CentOS,上传
- 更新
composer.json:name,license(可能是private并取消注释private)和description@todo-wordpress - ACF 现在需要 auth.json 文件才能与 composer 一起使用。从 https://www.advancedcustomfields.com/my-account/view-licenses/ 获取详细信息 - HS - 更新
package.json:name,version,git.url,license,private,script.dev-server - 安装 PHP 包并更新本地:
composer install && composer update - 本地运行
yarn && yarn upgrade。 - 上传
composer.lock和yarn.lock,然后在服务器上再次运行php composer.phar install和. ./node_setup.sh。 - 查找并修改整个网站中靠近
@todo-wordpress注释的位置。所有更改的文件都需要上传到服务器。 - 在
https://dev.example.com/wp/wp-admin/访问 WordPress 管理员 - 激活所有已安装的插件:
bin/wp plugin activate --all - 删除或更新
README.md和LICENSE - 添加Postmark API密钥
- 创建新的favicon:realfavicongenerator.net
- 考虑以下WordPress设置
- 设置主页:创建页面,然后在“设置”>“阅读”中选为主页
- 开发:设置>阅读 "阻止搜索引擎索引此站点"(适用于开发)
系统要求
使用WPackagist添加插件/主题
对于在WPackagist上找到并支持Composer安装的包。
- 运行
composer require wpackagist-plugin/plugin-name或composer require wpackagist-theme/theme-name - 将
composer.json和composer.lock文件上传到服务器(如果适用)。 - 在服务器上运行
php composer.phar install(如果适用)。 - 在WordPress中激活和配置插件或主题。
注意:这种方式安装的插件,只有composer.json和composer.lock中的插件引用会被提交到git。实际的插件文件不会提交到git。
添加不在WPackagist上的插件/主题
下载插件的存档并将其放入/public/app/mu-plugins/<plugin-name>/目录。在.gitignore中添加一行,例如!public/app/mu-plugins/plugin/,以便git检测/包含插件。将插件提交到git。它需要手动更新。
WordPress仅在mu-plugins目录直接查找PHP文件,并且(与普通插件不同)不在子目录中查找文件。您可能需要在mu-plugins目录中创建一个代理PHP加载文件(例如load.php)。只有当它无法自行找到插件文件时才这样做,否则您会得到重复错误。
<?php require WPMU_PLUGIN_DIR.'/my-plugin/my-plugin.php';
引用资源
要引用位于主题中的资源(图像、CSS文件等),请使用以下函数
<?php echo ThemeHelpers::assetPath('/path/within/theme/dir.jpg'); ?>
这将使用WordPress的内部路径和URL生成来处理主题文件夹更改或移动。路径开头的斜杠是可选的。
更改主题名称
更新WordPress & 插件/软件包
要更新WordPress核心和所有插件,请在本地上运行以下操作。将5.2.3替换为当前版本。
composer update && composer require roots/wordpress:5.2.3
最新版本的WordPress可以在以下位置找到:https://github.com/roots/wordpress/releases
更改主题名称/路径
要将主题名称从默认的default更改为,例如company
- 重命名主题文件夹。
- 在
config/application.php中,更新Config::define('WP_DEFAULT_THEME', 'default');行。 - 在
webpack.base.config.js中,更新所有引用主题文件夹的路径,例如,public/app/themes/default/...
命令
- 生产JS/CSS构建:
yarn build - 开发JS/CSS构建:
yarn dev - 开发JS/CSS监视:
yarn watch(文件将不会被版本化) - 开发JS/CSS HMR服务器:
yarn dev-server(如果已配置) - JS测试(Jest):
yarn test:unit(如果已配置) - E2E测试(Cypress):
yarn test:e2e(如果已配置) - 代码检查
- JS(ESLint):
yarn lint:js或yarn lint:js:fix - CSS:
yarn lint:css或yarn lint:css:fix
- JS(ESLint):
上线 / 发布后
- 确保“来自”/“到”地址在联系表单中正确
- 删除测试博客文章和示例页面,否则谷歌会索引这些内容。
- 确保在“设置”>“阅读”下未勾选“阻止搜索引擎索引此站点”
- 如果不使用“文章”,请在Yoast的“搜索外观”>“内容”中关闭文章索引
- 如果不使用“文章”,请在Yoast的“搜索外观”>“存档”中关闭作者索引 - 否则,谷歌会为每个用户/作者索引一个页面,不论是否使用。