我尝试使用composer设置一个使用wordpress及其插件的愉快方式。我的问题会很广泛。你会怎么做?
我想要的基本上是安装wordpress(现在正在做),但是我指定的插件安装在名为“vendor”的文件夹中而不是“plugins”文件夹中。那是为什么?
这是我的composer.json。
{
"name": "name",
"description": "name Wordpress",
"repositories":[
{
"type":"composer",
"url":"https://wpackagist.org"
}
],
"require": {
"timber/timber": "^1.3",
"johnpbloch/wordpress-core-installer": "^0.2.1",
"johnpbloch/wordpress": "^4.4"
},
"extra": {
"installer-paths": {
"wp-content/plugins/{$name}/": ["type:wordpress-plugin"],
"wp-content/themes/{$name}/" : ["type:wordpress-theme"]
},
"wordpress-install-dir": "wp"
}
}
答案 0 :(得分:0)
我对在WP中使用composer进行包管理这个想法很新。但我发现这很有趣,所以我调查了它。
安装路径特定于插件。另请查找wpackagist-plugin
供应商名称。其他人可能不会将代码放在wp
文件夹中。
如果您需要"wpackagist-plugin/advanced-custom-fields": "^4.4"
,例如它根据需要安装在plugins文件夹中。我相信供应商前缀('wpackagist-plugin')非常重要,因为their search中的包没有前缀。
尝试使用"wpackagist-plugin/timber-library": "^1.3"
它很好地放入了plugins文件夹,并且在插件文件夹中附带了它的所有依赖项。
timber/timber
实际上是从packagist.org(https://packagist.org/packages/timber/timber)而不是wpackagist.org中提取的。
在wpackagist.org上,你可以找到timber-library这是打包的等价物(包括作曲家自动加载器和其他deps)。
这个recipe for paths control(对于插件开发者)说:
要使用它,您的扩展程序的composer.json应包含:
"type" : "wordpress-plugin",
使用composer install
安装软件包后,您会看到vendor/timber/timber
内的软件包没有该类型。
实际上有an older WordPress plugin called timber,这就是0.8版本。它由timber-library继承。
"timber/timber": "^1.3"
如果您想使用从packagist.org提取的木材,您可以这样做,如果您将以下行放在wp-config.php
的顶部:
require __DIR__ . '/wp-content/vendor/autoload.php';
然后你必须同时部署供应商和wp文件夹。
还有关于如何在WP项目中使用供应商库的讨论on GitHub。
希望你相处这些信息。