在 wordpress 插件中使用作曲家包
Posted
技术标签:
【中文标题】在 wordpress 插件中使用作曲家包【英文标题】:using composer packages in a wordpress plugin 【发布时间】:2015-12-25 09:43:56 【问题描述】:我正在开发一个 wordpress 插件,该插件使用了 composer 包。作为参考,我正在开发的插件在这里:
https://github.com/tunapanda/wp-h5p-xapi
我正处于它在本地工作的阶段,我想将它发布到 wordpress 插件存储库。
为了使用插件,我需要在插件目录中运行composer install
来安装composer 包。我的问题是,它如何与插件存储库一起使用,以及让它工作的最佳实践是什么?因为很明显,如果我只是将插件发布到存储库并且如果有人从那里安装它,它将无法工作,因为那时将不会安装作为依赖项的 composer 包。
我看到了两种不同的方法来处理这个问题:
将我的vendor
目录置于源代码管理之下,并将其签入存储库。这感觉不是一个理想的解决方案,因为我一开始就失去了使用诸如 composer 之类的包管理器的大部分意义。
避免一起使用 composer,而只需获取我需要的包的代码并将其置于源代码管理之下。
所以我的问题是,最好的做法是什么?谁能指出我使用外部依赖项的参考 wordpress 插件?
【问题讨论】:
【参考方案1】:您的插件看起来很有趣,很高兴看到 H5P 项目的补充已经在制作中。
至于您的问题,我不确定是否有最佳做法或最佳方式来做到这一点。据我所知,最常见的做法是在插件中包含 3rd 方库,或者需要一个已经拥有它的插件。一个问题当然是它是否是您需要的版本。
如果您决定这样做,我建议您在加载插件后包含它,并且在包含它之前进行一些检查,例如
function load_my_library()
if ( !class_exists( 'MyLibraryClass' ) )
require_once( plugin_dir_path(__FILE__) . 'my-library/class.php' );
add_action( 'plugins_loaded', 'load_my_library', 0 );
我希望这个答案对你有用。祝你插件好运!
【讨论】:
以上是关于在 wordpress 插件中使用作曲家包的主要内容,如果未能解决你的问题,请参考以下文章
自定义 CSS 以删除 Wordpress 页面上的特定边距
如何在 wordpress 视觉作曲家中搜索替换图像 url