如何在插件管理面板中添加有意义的链接?

时间:2015-03-17 作者:Serge Profafilecebook

我已经阅读了太多此类代码,无法在插件管理页面中添加链接:

<?php
function plugin_add_settings_link( $links ) {
$settings_link = \'<a href="options-general.php?page=plugin_name">\' . __( \'Settings\' ) . \'</a>\';
array_push( $links, $settings_link );
return $links;
}
$plugin = plugin_basename( __FILE__ );
add_filter( "plugin_action_links_$plugin", \'plugin_add_settings_link\' );
?> 
这段代码没有回答的是我的问题:如何让链接执行我希望它执行的操作。

options-general.php?... 或者,无论什么都不能告诉我如何从单个链接触发插件中的单个函数。

如果在我的插件文件中

function my_plugin_function() { ... }
我希望用户能够单击链接<a href="???">Click here</a> 所以my_plugin_function 被解雇。

如何做到这一点?

是否有一些url格式可以做到这一点(可能看起来像这样的东西)plugin-call.php?action=my_plugin_function&nonce=d56f654a465e4&notarealworldexample=donttellmeaboutit“”?

EDIT:

显然我必须开始悬赏才能回答这个问题
问题是“如何在管理面板中使用链接触发插件中的函数(使用(异步)回发?)”我认为它应该得到50亿分
我没有这些,对于这样一个复杂的问题,只要拿50分就好像开玩笑了。

所以这里是“欠条5000.000.000.000点”。回答问题的人可以拥有它。

1 个回复
SO网友:jimihenrik

简而言之:您不能。Php函数不能从按钮“直接”运行,因为它们运行在服务器端。您需要设置$\\u POST或$\\u GET(以便在页面加载时运行该函数)或使用ajax/javascript。

您可以在网站上找到此问题的多个答案。例如this. 编辑:按钮/链接,无所谓。

结束

相关推荐

在加载plugins_后,get_plugins()不工作

知道为什么下面的代码function my_plugin_load() { get_plugins(); } add_action( \'plugins_loaded\', \'my_plugin_load\' ); 抛出此错误?Fatal error: 不应调用未定义的函数get\\u plugins()get_plugins() 定义在plugins_loaded 胡克开火了?如果不是,那么什么才是合适的钩子呢?(这个钩子应该启动插件的引导/加载过程)