ADMIN_POST_{action}似乎未执行

时间:2015-04-17 作者:Beer Brother

我正试图用admin\\u post\\uuaction}钩子处理插件的不同操作。

但下面的代码似乎不起作用

class TestPlugin {

   function test(){
      die(\'working!\');
   }

   function __construct(){
     add_action( \'admin_post_test\', array($this, \'test\'));
   }
}

new TestPlugin();
我试图通过以下url触发此事件:https://test.local/wp-admin/edit.php?page=test-plugin%2Ftest-plugin.php&action=test

1 个回复
SO网友:Stephen Harris

这只是一个错误的端点。这个admin_post_* 吊钩及其admin_post_nopriv_* 对于任何具有适当action 请求变量集,itonly 请求命中的触发器wp-admin/admin-post.php.

尝试https://test.local/wp-admin/admin-post.php?action=test 相反

我应该用admin-post.php 用于处理插件的操作可能不合适。如果您想将用户返回到其原始页面,那么您需要重定向他们,并丢失他们的请求数据。例如,如果您返回他们是因为表单字段无效,因为这些表单现在将为空,那么这就是糟糕的用户体验。

结束

相关推荐

将显示名称设置为名字和姓氏(phpmyadmin SQL查询)

我正在尝试将所有用户的显示名称更改为他们的名字和姓氏。我已经研究了许多插件,并编写了自己的PHP来尝试实现这一点,但该网站有50000多名注册用户(我可以想象大多数是来自我的客户以前网站的垃圾邮件),但正因为如此,PHP挂起了,在放弃之前只有大约2000个。因此,我认为下一个最好的方法是从PHPmyAdmin中编写一个SQL语句来执行该任务,然而纯SQL让我很困惑,到目前为止,我所能做的就是将显示名设置为用户的名字,我不确定如何获得姓氏。这是我使用的语句。UPDATE wp_users, wp_userm