是否有方法获取当前未安装插件的插件段塞(例如“akismet”),并以某种方式检索当前版本的下载URL(例如http://downloads.wordpress.org/plugin/akismet.2.5.3.zip\')?
这是我正在尝试开发的一个命令行脚本,它将支持从命令行安装插件。
是否有方法获取当前未安装插件的插件段塞(例如“akismet”),并以某种方式检索当前版本的下载URL(例如http://downloads.wordpress.org/plugin/akismet.2.5.3.zip\')?
这是我正在尝试开发的一个命令行脚本,它将支持从命令行安装插件。
我完全忘记了插件slug是否是获取url的可靠方法,这可能在大多数情况下都是因为插件的命名方式。
您可以在wordpress上查询api。org获取插件xml文件,该文件还包含下载链接。
例如:
$plugin_slug = \'akismet\';
$return_plugin_info = "http://api.wordpress.org/plugins/info/1.0/$plugin_slug.xml"
它将返回一个XML文件,您可以解析下载链接,该文件位于<download_link type="string">the link...akismet.zip</download>
我想我迟到了,但根据新的指导方针,我发现这是最好的解决方案
// Set the arguments. For brevity of code, I will set only a few fields.
$args = array(
\'slug\' => \'akismet\', // or any plugin slug
\'fields\' => array(
\'version\' => true
)
);
// Make request and extract plug-in object. Action is query_plugins
$response = wp_remote_post(
\'http://api.wordpress.org/plugins/info/1.0/\',
array(
\'body\' => array(
\'action\' => \'plugin_information\',
\'request\' => serialize((object)$args)
)
)
);
//
if ( !is_wp_error($response) ) {
$returned_object = unserialize(wp_remote_retrieve_body($response));
if ($returned_object) {
$downloaded = $returned_object->downloaded;
print_r($downloaded);
}
else {
// Response body does not contain an object/array
echo "An error has occurred.";
}
}
else {
// Error object returned
echo "An error has occurred";
}
我通常通过FTP下载和安装插件,但我已经从web界面安装了一些插件。我正在尝试将WP从远程移动到本地,我得到一个空白的WP管理屏幕。我认为是我的一个插件导致了这个问题。我已将wp-content/plugins重命名为wp-content/u-plugins,以禁用该文件夹中的所有插件。但我安装的插件没有出现在插件文件夹中,我认为这是导致wp管理屏幕空白的原因。请告知。谢谢