davisshaver/railyard

此包最新版本(1.01)没有可用的许可证信息。

费城出版网站的开箱即用工具。

安装: 1

依赖: 0

建议者: 0

安全: 0

星标: 0

关注者: 1

分支: 0

开放问题: 0

类型:项目

1.01 2017-12-27 17:00 UTC

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

现有网站导入

以下是清理现有网站的一些提示。

  1. 安装WP CLI的Revisions命令然后删除。有关更多选项,请参阅文档
wp package install trepmal/wp-revisions-cli
wp revisions clean --hard
wp db optimize
  1. 删除transients。
wp transient delete --all
  1. 删除待审评论和pingback。

在没有WP CLI命令的情况下,可以使用Sequel Pro手动删除pingback/trackback。

  1. 分析最大的表。
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

留心查看额外的表,您可能能够删除它们。

  1. 将文件传输到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上传进行本地开发(这实际上是一个不错的方法,可以不必将生产环境中的所有上传同步到开发环境),但如果要离线开发,您有几个选择。

  1. 只需在开发环境中禁用S3上传插件。
  2. 使用插件激活,定义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
  1. 移除订阅者。

我们可以使用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以忽略。

主题

终端是费城出版商必须的主题。