如何生成WordPress插件安装链接

Phi*_*ton 3 wordpress wordpress-plugin nonce

我创建了一个插件,取代了我之前编写的插件,并添加了一些额外的东西.我想在我的旧插件的设置页面中创建一个警报,其中包含下载和安装我的新插件的链接,并告知他们开发人员不再支持旧插件.目前,从我的管理面板的插件页面,安装链接如下所示:

http://www.example.com/wp-admin/network/update.php?action=install-plugin&plugin=wptouch&_wpnonce=a8d64aa295
Run Code Online (Sandbox Code Playgroud)

在我看来,创建URI时至少要记住两件事:

  1. 检查这是否是多站点设置
  2. 确保我生成正确的nonce.

有谁知道如何正确地做到这一点?生成此URI时还需要考虑其他事项吗?

在此先感谢您的帮助.

Phi*_*ton 7

我找到了答案.在wp-admin/import.php,这是一个很好的例子,说明这是如何工作的.

这是我的实现:

$plugin_name = 'my_plugin_name';
$install_link = '<a href="' . esc_url( network_admin_url('plugin-install.php?tab=plugin-information&plugin=' . $plugin_name . '&TB_iframe=true&width=600&height=550' ) ) . '" class="thickbox" title="More info about ' . $plugin_name . '">Install ' . $plugin_name . '</a>';
Run Code Online (Sandbox Code Playgroud)

然后只需在管理页面中的任何位置输出该链接标记.

如果您想获得想象并添加thickbox模态窗口效果,只需使用该函数add_thickbox()并将其附加到在典型管理请求中调用的操作,例如:

add_action('admin_menu', 'my_plugin_add_thickbox');
function my_plugin_add_thickbox() {
    add_thickbox();
}
Run Code Online (Sandbox Code Playgroud)

应该这样做!

  • 使用厚箱时,"安装"按钮对我不起作用.其他人有这个问题吗? (3认同)