gpt4 book ai didi

Wordpress 插件 - 自托管更新

转载 作者:行者123 更新时间:2023-12-03 07:24:58 26 4
gpt4 key购买 nike

我正在开发一个需要更新的 WordPress 插件,尽管正在从我的服务器检查插件版本。我开发了几个插件,它们使用完全相同的服务器来检查新版本。我遇到的问题是,当所有插件都需要更新并且我单击“查看详细信息”时,其中一个插件将显示更新的详细信息(版本、描述等),但其他插件不会显示任何信息。经过一些调试后,我可以看到服务器确实正在返回数据。

我的问题是,如何多次应用plugins_api过滤器而不与其他插件冲突?

最佳答案

你的观察是正确的。这并不明显。甚至 Brad 和 Ozh 的书(插件开发版 Wrox)在“创建自己的 API 存储库”一章的第 267 页的示例中也包含了一个错误。和你一样,我花了(失去)时间来查找备用 API 中两个插件的问题...

解决方案:请记住,WP 过滤器中的第一个参数是传递给过滤器的原始值。因此,要连接过滤器(由使用备用 api 的插件列出)...第一行必须是:

function xiliw_altapi_information( $false, $action, $args ) {
$plugin_slug = plugin_basename( __FILE__ );
// Check if this plugins API is about this plugin
if( $args->slug != $plugin_slug ) {
return $false; // var to conserve the value of previous filter of plugins list in alternate api. fixes book error not val false
}

// POST data to send to your API
$args = array(
'action' => 'plugin_information',
'plugin_name' => $plugin_slug,
'version' => $transient->checked[$plugin_slug],
'registration' => $this->registration
);//../..

通过进行此测试,每次调用钩子(Hook)列表时,只有一个(相关插件)给出正确的答案来显示启动窗口的信息。

如果我有时间,我可能很快就会发布一篇更完整的文章,介绍一个类来管理这个备用的强大 API 以及如何将其添加到 -private- 插件中。

关于Wordpress 插件 - 自托管更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7074616/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com