未触发通过ADD_ACTION的回发重定向

时间:2019-04-25 作者:Bat Man

模板:

<form action="<?php echo esc_url( admin_url(\'admin-post.php\')); ?>" method="post">
    <input type="text" name="boo" id="boo" required>
    <input type="hidden" name="action" value="foo">
</form>
我在主题函数中添加了挂钩。php和moo 已注册:

add_action( \'admin_post_foo\', \'moo\' );
add_action( \'admin_post_nopriv_foo\', \'moo\' );
function moo() {
    wp_safe_redirect(
        esc_url(
            site_url( \'http://127.0.0.1:8000/?page_id=5\' )
        )
    );
}
在发布后,它仍然挂起admin_post.php

我没有debug,也不知道是否调用了钩子,所以知道如何确定它吗?

1 个回复
SO网友:nmr

假设您的站点地址为example.com. 当您要重定向到example.com/page/subpage 您应该使用site_url(\'/page/subpage\').

我想WordPress的地址是http://127.0.0.1:8000. 您的代码中有site_url( \'http://127.0.0.1:8000/?page_id=5\' ) 它将转换为以下地址:http://127.0.0.1:8000http://127.0.0.1:8000/?page_id=5.

尝试使用此重定向:

wp_safe_redirect( site_url( \'/?page_id=5\' ) );
第二期,请看一下code reference, 您将发现:

wp\\u safe\\u redirect()不会自动退出,并且应该始终紧跟着退出。

相关推荐

Wp redirect - reset password

我卡住了。我正在从approve post功能重定向到建立密码的链接。这是可行的,但不需要用户。也就是说,打开重置密码页面,但我看到的错误是没有指定用户。我是否调用了错误的变量?提前谢谢。 add_action(\'init\', \'approve_post\', 10, 2 ); add_action(\'edit_user_created_user\', \'approve_post\', 10, 2 ); function approve_post($use