qobo / project-template-wordpress
新WordPress项目的模板
Requires
- aws/aws-sdk-php: ^3.52
- brainmaestro/composer-git-hooks: ^2.4
- fancyguy/webroot-installer: 1.1.0
- johnpbloch/wordpress-core: 5.7.1
- johnpbloch/wordpress-core-installer: 2.0.0
- josegonzalez/dotenv: ^3.2
- pyrech/composer-changelogs: ^1.4
- qobo/qobo-robo: ^2.0
- qobo/qobo-wp-brand: 2.0.2
- qobo/qobo-wp-generic-theme: 1.1.3
- qobo/qobo-wp-shortcodes: 1.0.1
- wp-cli/wp-cli-bundle: ^2.4
- wpackagist-plugin/akismet: 4.1.9
- wpackagist-plugin/amp: 2.0.11
- wpackagist-plugin/bad-behavior: 2.2.24
- wpackagist-plugin/bootstrap-for-contact-form-7: 1.4.8
- wpackagist-plugin/classic-editor: 1.6
- wpackagist-plugin/contact-form-7: 5.4.1
- wpackagist-plugin/contact-form-7-honeypot: 2.1
- wpackagist-plugin/custom-upload-dir: 3.4.6
- wpackagist-plugin/disable-comments: 2.1.1
- wpackagist-plugin/disable-wordpress-updates: 1.6.7
- wpackagist-plugin/fast-velocity-minify: 3.2.2
- wpackagist-plugin/gdpr-cookie-compliance: 4.5.6
- wpackagist-plugin/google-analytics-for-wordpress: 7.17.0
- wpackagist-plugin/google-sitemap-generator: 4.1.1
- wpackagist-plugin/jetpack: 9.8.1
- wpackagist-plugin/listo: 1.3
- wpackagist-plugin/multiple-post-thumbnails: 1.7
- wpackagist-plugin/page-links-to: 3.3.5
- wpackagist-plugin/pubsubhubbub: 3.0.3
- wpackagist-plugin/resize-image-after-upload: 1.8.6
- wpackagist-plugin/restricted-site-access: ^7.0.1
- wpackagist-plugin/shortcodes-ultimate: 5.9.8
- wpackagist-plugin/tiny-compress-images: 3.2.1
- wpackagist-plugin/wordpress-seo: 16.4
- wpackagist-plugin/wp-mail-smtp: 2.8.0
- wpackagist-plugin/wp-media-library-categories: 1.9.9
- wpackagist-plugin/wp-super-cache: 1.7.3
- wpackagist-plugin/wp-theme-plugin-editor-disable: 1.0.0
- wpackagist-plugin/yoast-test-helper: 1.14
Requires (Dev)
- brianium/paratest: *
- phpstan/phpstan: ^0.10.3
- phpstan/phpstan-phpunit: ^0.10.0
- phpunit/phpunit: *
- squizlabs/php_codesniffer: *
- thecodingmachine/phpstan-strict-rules: ^0.11.0
- wp-coding-standards/wpcs: 0.11.0
- wpackagist-plugin/debug-bar: 1.1.2
- wpackagist-plugin/debug-bar-console: 0.3
- wpackagist-plugin/p3-profiler: 1.5.4
- wpackagist-plugin/theme-check: *
- wpackagist-plugin/user-switching: 1.5.6
Suggests
- ext-xdebug: Allows code coverage reports and advanced debugging
- qobo/qobo-wp-custom-admin-theme: it fixes WP admin styles where widget input, select overlap their container
- wpackagist-plugin/regenerate-thumbnails: Regenerate Thumbnails allows you to regenerate the thumbnails for your image attachments.
- dev-master
- v12.2.0
- v12.1.0
- v12.0.0
- v11.4.0
- v11.3.0
- v11.2.0
- v11.1.0
- v11.0.0
- v10.20.0
- v10.19.2
- v10.19.1
- v10.19.0
- v10.18.3
- v10.18.2
- v10.18.1
- v10.18.0
- v10.17.0
- v10.16.0
- v10.15.0
- v10.14.1
- v10.14.0
- v10.13.0
- v10.12.2
- v10.12.1
- v10.12.0
- v10.11.0
- v10.10.0
- v10.9.0
- v10.8.0
- v10.7.0
- v10.6.0
- v10.5.0
- v10.4.1
- v10.4.0
- v10.3.0
- v10.2.0
- v10.1.0
- v10.0.0
- v9.7.0
- v9.6.1
- v9.6.0
- v9.5.1
- v9.5.0
- v9.4.0
- v9.3.1
- v9.3.0
- v9.2.1
- v9.2.0
- v9.1.1
- v9.1.0
- v9.0.1
- v9.0.0
- v8.0.0
- v7.0.0
- v6.8.0
- v6.7.0
- v6.6.4
- v6.6.3
- v6.6.2
- v6.6.1
- v6.6.0
- v6.5.1
- v6.5.0
- v6.4.0
- v6.3.2
- v6.3.1
- v6.3.0
- v6.2.0
- v6.1.2
- v6.1.1
- v6.1.0
- v6.0.0
- v5.4.2
- v5.4.1
- v5.4.0
- v5.3.1
- v5.3.0
- v5.2.0
- v5.1.2
- v5.1.1
- v5.1.0
- v5.0.0
- v4.4.0
- v4.3.0
- v4.2.0
- v4.1.1
- v4.1.0
- v4.0.6
- v4.0.5
- v4.0.4
- v4.0.3
- v4.0.2
- v4.0.1
- v4.0.0
- v3.8.1
- v3.8.0
- v3.7.0
- v3.6.0
- v3.5.4
- v3.5.3
- v3.5.2
- v3.5.1
- v3.5.0
- v3.4.0
- v3.3.0
- v3.2.0
- v3.1.1
- v3.1.0
- v3.0.0
- v2.4.0
- v2.3.5
- v2.3.4
- v2.3.3
- v2.3.2
- v2.3.1
- v2.3.0
- v2.2.0
- v2.1.0
- v2.0.0
- v1.0.14
- v1.0.13
- v1.0.12
- v1.0.11
- v1.0.10
- v1.0.9
- v1.0.8
- v1.0.7
- v1.0.6
- v1.0.5
- v1.0.4
- v1.0.3
- v1.0.2
- v1.0.1
- v1.0.0
- dev-update-wordpress-6
- dev-dependabot/composer/wpackagist-plugin/amp-2.1.3
- dev-dependabot/composer/wpackagist-plugin/wp-mail-smtp-2.9.0
- dev-dependabot/add-v2-config-file
- dev-dependabot/composer/wp-coding-standards/wpcs-2.3.0
- dev-test-travis
- dev-10539_google_maps_api_key_env
- dev-phpstan-task-7726
- dev-add-cron-install-task6673
This package is auto-updated.
Last update: 2023-04-29 01:01:06 UTC
README
关于
这是新WordPress项目的模板。
安装
有两种方式可以安装并开始使用此项目模板。
Composer
您可以使用Composer从这个模板创建一个新的项目。
composer create-project qobo/project-template-wordpress example.com cd example.com ./bin/build app:install DB_NAME="app",PROJECT_NAME="My Project",PROJECT_VERSION="v1.0.0"
Git
或者,如果您想能够将项目更新到模板的最新版本,您可以使用git安装模板。
mkdir example.com cd example.com git init # Pull the latest version from https://github.com/QoboLtd/project-template-wordpress/releases git pull git@github.com:QoboLtd/project-template-wordpress.git vX.Y.Z composer update ./bin/build app:install DB_NAME="app",PROJECT_NAME="My Project",PROJECT_VERSION="v1.0.0" # Add your own remote repository git remote add origin git@github.com/USER/REPO # Push git push origin master
使用上述方法,您将拥有模板开发的全历史记录。现在您可以开始自己的开发,并在未来的任何时刻升级到最新模板。
更新
如果您使用git安装了项目模板,您可以使用以下方法轻松地将应用程序升级到最新模板
cd exmample.com # Make sure you are on the master branch and have a clean and up-to-date workspace git checkout master git pull origin master # Create a new branch git checkout -b project-template-update # Pull the latest version from https://github.com/QoboLtd/project-template-wordpress/releases git pull git@github.com:QoboLtd/project-template-wordpress.git vX.Y.Z composer update ./bin/build app:update # Check for conflicts, resolve if any, commit, and then push git push origin project-template-update # Create a pull request, review, and merge
用法
现在您已安装了项目模板,在开始修改之前,请检查它是否正常工作。启动PHP网络服务器
./bin/phpserv
或者在替代端口上运行它
./bin/phpserv -S localhost:9000
在浏览器中导航到http://localhost:8000。您应该看到标准的phpinfo()
页面。如果是这样,所有部分都已就绪。
现在您可以像平常一样开发PHP项目,但具有以下优势
- 支持PHP内置网络服务器
- 使用
.env
文件按环境配置,该文件被git忽略 - 集成强大的构建系统(Robo)
- 将Composer与添加到
.gitignore
的vendor/
文件夹集成 - PHPUnit与
tests/
文件夹和示例单元测试集成 - 最佳实践的合理默认值 - favicon.ico、robots.txt、MySQL转储、Nginx配置、GPL等。
例如,您可以通过修改包含在build/
文件夹中的Robo文件,轻松自动化应用程序的构建过程。运行以下命令以检查可用的目标
./bin/build
如您所见,已经为应用程序的构建过程预留了一些占位符。默认情况下,建议您有以下这些
app:install
- 用于应用程序的安装过程app:update
- 用于已安装应用程序的更新过程app:remove
- 用于应用程序移除过程和清理
当然,您可以添加自己的,移除这些,或者以任何您想要的方式更改它们。有关如何使用这些目标和传递运行时配置参数的更多信息,请参阅Robo文档。
测试
PHPUnit和PHP CodeSniffer
运行PHPUnit和PHP CodeSniffer最快、最简单的方法是使用composer脚本
./bin/composer test
或者,您可以使用代码覆盖率报告运行测试
HTML格式的代码覆盖率报告将放置在./build/test-coverage/
文件夹中。
Travis CI
持续集成是一种工具,它可以帮助您在代码库(提交、合并等)进行任何更改时运行测试。您可以使用许多工具,但project-template-wordpress提供了一个与Travis CI的示例集成。
查看.travis.yml
文件,该文件描述了环境矩阵、项目安装步骤以及运行测试套件的方式。对于基于project-template-wordpress的实际项目,您可能希望从文件中删除示例测试。
示例
project-template-wordpress提供了一些如何编写和组织单元测试的示例。查看tests/
文件夹。现在您没有任何借口不测试您的应用程序了!
配置
插件 - Compress PNG for WP(使用TinyPNG API)
此插件需要TinyPNG的API密钥。您可以使用参数TINYPNG_API_KEY在.env.example文件中设置您的密钥。模板中已添加默认有效API密钥,但由于每个密钥允许请求的数量有限,每个项目都应该使用自己的密钥。您可以在https://tinypng.com/developers(每个电子邮件地址一个密钥)处获取API密钥。