将Composer与Wordpress一起使用

时间:2017-07-18 14:18:18

标签: wordpress composer-php

我尝试使用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"
  }
}

1 个答案:

答案 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继承。

使用来自packagist.org的"timber/timber": "^1.3"

如果您想使用从packagist.org提取的木材,您可以这样做,如果您将以下行放在wp-config.php的顶部:

require __DIR__ . '/wp-content/vendor/autoload.php';

然后你必须同时部署供应商和wp文件夹。

还有关于如何在WP项目中使用供应商库的讨论on GitHub

希望你相处这些信息。