XM/starter_wordpress

XM Media 创建 WordPress 网站的启动器

安装: 32

依赖项: 0

建议者: 0

安全: 0

星级: 0

关注者: 3

分支: 0

公开问题: 3

类型:项目

dev-master 2024-09-13 19:28 UTC

This package is auto-updated.

Last update: 2024-09-13 19:28:44 UTC


README

初始设置

  1. 创建新项目
    composer create-project xm/starter_wordpress project-name --stability=dev --no-install --remove-vcs
  2. .env.example 复制到 .env
  3. .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_KEYSECURE_AUTH_KEYLOGGED_IN_KEYNONCE_KEYAUTH_SALTSECURE_AUTH_SALTLOGGED_IN_SALTNONCE_SALT 来自:https://roots.io/salts.html
  • ACF_PRO_KEY - 添加 ACF 密钥
  1. 服务器设置
    1. 如果使用 InterWorx 或 CentOS,上传 setup_dev.sh 并运行:sh ./setup_dev.sh
    2. 上传文件到服务器。不要上传(大多数在 .gitignore 中列出)
      • /.git/.idea
      • 以及以下内容(这些只在你安装了 JS 或 PHP 包的情况下存在)
        • /public/wp
        • /public/app/plugins/*
        • /vendor
        • /bin
        • /node_modules
    3. 安装 Composer(如果尚未安装)
    4. 添加 .env(复制 .env.example 并更新)。
    5. 安装 PHP 包/供应商:php composer.phar install
    6. 运行 . ./node_setup.sh(这将设置 node 并安装 JS 包 – 需要 yarn 已安装)。
    7. 运行 yarn devyarn build(用于生产)以编译 JS 和 CSS 文件。
    8. 将 public 链接到 html:rm -rf html && ln -s public html
    9. 为 ACF 在供应商和插件目录之间创建符号链接:ln -s /home/<user>/dev.example.com/vendor/advanced-custom-fields/advanced-custom-fields-pro public/app/plugins/acf
    10. 添加 cron:*/15 * * * * curl https://dev.example.com/wp/wp-cron.php(这是每 15 分钟一次)。自动 cron 已禁用。
    11. 调整 bin 目录的权限:chmod u+x bin/*
    12. 安装 WP:bin/wp core install --allow-root --url=https://<url> --title="<site-title>" --admin_user=<username> --admin_email=<email>
  2. 更新 composer.jsonnamelicense(可能是 private 并取消注释 private)和 description @todo-wordpress - ACF 现在需要 auth.json 文件才能与 composer 一起使用。从 https://www.advancedcustomfields.com/my-account/view-licenses/ 获取详细信息 - HS
  3. 更新 package.jsonnameversiongit.urllicenseprivatescript.dev-server
  4. 安装 PHP 包并更新本地:composer install && composer update
  5. 本地运行 yarn && yarn upgrade
  6. 上传 composer.lockyarn.lock,然后在服务器上再次运行 php composer.phar install. ./node_setup.sh
  7. 查找并修改整个网站中靠近 @todo-wordpress 注释的位置。所有更改的文件都需要上传到服务器。
  8. https://dev.example.com/wp/wp-admin/ 访问 WordPress 管理员
  9. 激活所有已安装的插件: bin/wp plugin activate --all
  10. 删除或更新 README.mdLICENSE
  11. 添加Postmark API密钥
  12. 创建新的favicon:realfavicongenerator.net
  13. 考虑以下WordPress设置
    • 设置主页:创建页面,然后在“设置”>“阅读”中选为主页
    • 开发:设置>阅读 "阻止搜索引擎索引此站点"(适用于开发)

系统要求

使用WPackagist添加插件/主题

对于在WPackagist上找到并支持Composer安装的包。

  1. 运行 composer require wpackagist-plugin/plugin-namecomposer require wpackagist-theme/theme-name
  2. composer.jsoncomposer.lock文件上传到服务器(如果适用)。
  3. 在服务器上运行 php composer.phar install(如果适用)。
  4. 在WordPress中激活和配置插件或主题。

注意:这种方式安装的插件,只有composer.jsoncomposer.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

  1. 重命名主题文件夹。
  2. config/application.php中,更新Config::define('WP_DEFAULT_THEME', 'default');行。
  3. 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:jsyarn lint:js:fix
    • CSS:yarn lint:cssyarn lint:css:fix

上线 / 发布后

  • 确保“来自”/“到”地址在联系表单中正确
  • 删除测试博客文章和示例页面,否则谷歌会索引这些内容。
  • 确保在“设置”>“阅读”下未勾选“阻止搜索引擎索引此站点”
  • 如果不使用“文章”,请在Yoast的“搜索外观”>“内容”中关闭文章索引
  • 如果不使用“文章”,请在Yoast的“搜索外观”>“存档”中关闭作者索引 - 否则,谷歌会为每个用户/作者索引一个页面,不论是否使用。