我已经设置WordPress and obtaining its required plugins via composer了好几年了,效果很好,但是我在安装不知道如何使用{{ 1}}以及不支持非标准WordPress文件夹结构的PaaS。
所以我想知道我是否仍然可以使用composer设置WordPress核心(或任何其他软件包),但我希望首先安装它。
在WP_SITEURL
中说,您具有以下软件包:
composer.json
上面的{
"name": "test/composer-install-order",
"type": "project",
"repositories": [
{ "type": "composer", "url": "https://wpackagist.org" }
],
"require": {
"php": ">=7.2",
"composer/installers": "~1.6.0",
"johnpbloch/wordpress": "^4.9",
"wpackagist-plugin/better-search-replace": "*",
"wpackagist-plugin/bugherd": "*",
"wpackagist-plugin/disable-emojis": "*"
},
"extra": {
"installer-paths": {
"public_html/wp-content/plugins/{$name}/": ["type:wordpress-plugin"],
"public_html/wp-content/themes/{$name}/": ["type:wordpress-theme"]
},
"wordpress-install-dir": "public_html"
},
"config": {
"preferred-install": "dist",
"optimize-autoloader": true,
"sort-packages": true
}
}
说,您需要 3个插件: 更好的搜索替换,bugherd和disable-emojis
但是当您按下composer.json
时:
composer install
您只会在➜ temp1 composer install
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 7 installs, 0 updates, 0 removals
- Installing composer/installers (v1.6.0): Loading from cache
- Installing johnpbloch/wordpress-core-installer (1.0.0.2): Loading from cache
- Installing wpackagist-plugin/better-search-replace (1.3.2): Loading from cache
- Installing wpackagist-plugin/bugherd (1.0.0.0): Loading from cache
- Installing johnpbloch/wordpress-core (4.9.8): Loading from cache
- Installing johnpbloch/wordpress (4.9.8): Loading from cache
- Installing wpackagist-plugin/disable-emojis (1.7.2): Loading from cache
Writing lock file
Generating optimized autoload files
➜ temp1
文件夹中获得 1个插件。原因是因为当您检查上面的打印内容时,在Wordpress核心文件wp-content/plugins
之前首先安装了两个插件better-search-replace
和bugherd
。因此,即使johnpbloch/wordpress
将这两个插件包都提取到了正确的文件夹中,composer
也将它们删除了,因为它覆盖了johnpbloch/wordpress
文件夹。
此方法唯一可行的方法是,如果我先在插件之前安装wp-content/plugins
,但是由于composer通过johnpbloch/wordpress
内容安装,因此我不知道是否可能。
希望有人可以提供帮助。
此致
答案 0 :(得分:2)
维护者在这里。根据建议,OP在这里打开了一个问题:https://github.com/johnpbloch/wordpress-core/issues/14
我想在此处链接(并在下面复制),以便将来有人遇到此问题时,可以找到一个答案,以阐明正在发生的事情。 :)
从github问题复制的响应:
嗨,狼,
感谢您提出问题。根本的问题是冲突 在Composer的工作方式和WordPress的默认工作方式之间。
如果要使用Composer将WordPress核心作为依赖项进行管理 软件包,则必须使用特定的非标准安装选项 用于WordPress,其核心安装在子目录中,并且 wp-content目录设置为核心软件包之外的位置。 稀有has a great microsite detailing the optimal setup。您还可以检出my sample WordPress package starter package 灵感。您可以阅读有关installing core in a subdirectory的更多信息 和moving wp-content 在法典上。
如果您有兴趣阅读有关以下内容的更多信息, 这个问题,请参阅this thread in the installer repository 其中该主题得到了更长的处理。
希望有帮助!
答案 1 :(得分:1)
johnpbloch/wordpress
已将它们删除,因为它覆盖了wp-content/plugins
文件夹
当包装开始表现出这种行为时,我什至不知道人们期望什么。我建议您提交一个问题或请求拉动以修改此行为,因为这充其量似乎是有问题的,如果说实话这只是恶意的。
您确定这不是插件路径或wordpress安装程序路径方面的错误配置错误吗?