davisshaver / railyard
费城出版网站的开箱即用工具。
Requires
- composer/installers: ^1.3.0
- pantheon-systems/quicksilver-pushback: ^1.0
- pantheon-systems/wordpress-composer: ^4.8.2
- roots/wp-password-bcrypt: ^1.0.0
- rvtraveller/qs-composer-installer: ^1.1
- vlucas/phpdotenv: ^2.4.0
- wpackagist-plugin/pantheon-advanced-page-cache: ^0.1.4
- wpackagist-plugin/wp-native-php-sessions: ^0.6.0
- wpackagist-theme/twentyseventeen: ^1.1
Requires (Dev)
- behat/mink-goutte-driver: ^1.2
- behat/mink-selenium2-driver: ^1.3
- brain/monkey: ^1.4
- paulgibbs/behat-wordpress-extension: 0.8.0
- phpunit/phpunit: ^6.1
- roave/security-advisories: dev-master
- squizlabs/php_codesniffer: ^2.9.0
- wp-coding-standards/wpcs: dev-master
This package is not auto-updated.
Last update: 2024-09-29 04:43:08 UTC
README
这是费城出版公司新网站的入门工具包。它为本地开发和新建站点提供了轨道。可以通过Composer或直接提交来按站点包含专有代码和秘密。
本地开发
先决条件
在开始之前,这些工具应安装在本地的系统上。
- Composer
- PHP
本地开发工作流程
新网站可以从项目根目录开始使用。有关支持的键,请参阅.env.sample
。
您可以使用Lando、Local by Flywheel或其他本地开发解决方案。
接下来,您可能想运行wp db import ./private/local/railyard.sql.gz
。这将填充数据库以模拟典型的费城出版网站。如果使用生产数据库,可能需要一些时间。如果使用生产数据库,此时可能需要重置密码。您可以使用wp user update admin --user_pass="PASSWORD"
来完成此操作。
提示:如果您想将命令存档以供将来使用,我们将在存储库中忽略文件notes.md
。
现有网站导入
以下是清理现有网站的一些提示。
- 安装WP CLI的Revisions命令然后删除。有关更多选项,请参阅文档。
wp package install trepmal/wp-revisions-cli
wp revisions clean --hard
wp db optimize
- 删除transients。
wp transient delete --all
- 删除待审评论和pingback。
在没有WP CLI命令的情况下,可以使用Sequel Pro手动删除pingback/trackback。
- 分析最大的表。
wp db size --tables
对于您的前缀(通常为wp_
),我们需要保留以下表
wp_commentmeta
wp_comments
wp_links
wp_options
wp_postmeta
wp_posts
wp_term_relationships
wp_term_taxonomy
wp_termmeta
wp_terms
wp_usermeta
wp_users
留心查看额外的表,您可能能够删除它们。
- 将文件传输到S3。
在开始之前,您需要以下内容
- S3存储桶
- 具有存储桶完全权限的IAM用户密钥/秘密
- 服务器上的AWS CLI
在第三方服务器上,我们希望非常小心地保持环境不被干扰。
您可以将自己的密钥/秘密导出到环境中,以绕过配置到AWS的配置文件
export AWS_ACCESS_KEY_ID="REDACTED"
export AWS_SECRET_ACCESS_KEY="REDACTED"
export AWS_DEFAULT_REGION="us-east-1"
现在,如果您运行aws s3 ls
,应该会看到S3存储桶被列出。
假设是标准的WordPress安装,从应用根目录运行此命令将开始与存储桶的同步过程
aws s3 sync ./wp-content/uploads/ s3://onwardstate-uploads/uploads/
现在我们可以取消设置我们的环境变量。就像我们从未来过一样!
unset AWS_ACCESS_KEY_ID
unset AWS_SECRET_ACCESS_KEY
unset AWS_DEFAULT_REGION
如果您已设置并激活了S3上传,此时图像文件应该可以加载。您还可能想将S3存储桶的全部或部分内容同步到服务器以提高冗余。
对于本地开发,S3上传建议以下操作
尽管可以使用S3上传进行本地开发(这实际上是一个不错的方法,可以不必将生产环境中的所有上传同步到开发环境),但如果要离线开发,您有几个选择。
- 只需在开发环境中禁用S3上传插件。
- 使用插件激活,定义S3_UPLOADS_USE_LOCAL常量。
选项2允许您为生产一致性运行S3上传插件,它将本质上使用本地流包装器模拟Amazon S3,并将上传内容实际存储在您的WP上传目录/s3/。
此时,您可能仍然有一个不必要的大上传文件夹。以下是一些减少其大小的策略。
使用Node S3 Utils,我们可以列出被标记为WordPress自动生成的上传。具体包含####x####.jpg
的最后部分。
s3utils files delete -c ./.s3-credentials.json -p uploads/ -r 'uploads\/[0-9]{4}\/[0-9]{1,2}\/(.*-[0-9]{1,4}x[0-9]{1,4}.(png|gif|jpg))'
但是,这个功能需要反复运行以清除图片。
您还可能想确保所有文章都有特色图片。特色图片功能是在版本2.9(2009年12月18日)中引入的。安装Run Command的Assign Featured Image包,然后按照以下方式预览并运行:
wp --url=onwardstate.com assign-featured-images --dry-run --only-missing
wp --url=onwardstate.com assign-featured-images --only-missing
- 移除订阅者。
我们可以使用WP CLI查找订阅者并删除没有文章的订阅者。
wp user delete $(wp db query "SELECT ID FROM os08_users WHERE ID NOT IN ( SELECT DISTINCT post_author FROM os08_posts ) AND ID NOT IN (4)" --url=onwardstate.com | tail -n +2 ) --url=onwardstate.com --reassign=1
这里的4
是管理员ID,可以通过类似wp user list --role=administrator --field=ID
的方式获取。用逗号分隔多个管理员ID以忽略。
主题
终端是费城出版商必须的主题。