模板:
<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,也不知道是否调用了钩子,所以知道如何确定它吗?
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()不会自动退出,并且应该始终紧跟着退出。