【发布时间】:2014-01-20 15:12:44
【问题描述】:
我正在尝试在用户使用 WordPress 前端编辑器插件编辑帖子后重定向:
插件库 http://wordpress.org/plugins/wp-front-end-editor/
GitHub https://github.com/avryl/wp-front-end-editor
我考虑过使用save_post 钩子:
http://codex.wordpress.org/Plugin_API/Action_Reference/save_post
function redirect_after_edit(){
wp_redirect( home_url() );
exit;
}
add_action( 'save_post', 'redirect_after_edit' );
虽然此重定向在通过后端编辑帖子时有效,但在使用 WordPress 前端编辑器编辑帖子时不起作用。
知道如何在用户使用 WordPress 前端编辑器成功编辑帖子后重定向用户吗?
【问题讨论】:
-
save_post从前端编辑器编辑时被调用。这里还有其他事情发生。此时标头是否已经发送?如果是这样,那么您不能在 php.ini 中执行header()调用。打开错误报告。 -
我注意到提交编辑时没有刷新页面。 AJAX 可以在其中发挥一些作用吗?
-
没有。因为您的插件注册了 WP AJAX,并且该数据被发送到控制器函数,然后调用
do_($action, $arg1, $arg2)并根据从 ajax 对象接收到的数据执行get/save。 -
对。在那种情况下,我不明白为什么 save_post 没有触发重定向?打开 Firebug,似乎没有抛出任何错误。
-
正如我之前建议您的那样,如果标头已经发送,您将无法执行
header redirect。转到您的wp-config文件,然后找到WP_DEBUG并将其设置为true,然后重新加载页面。如果您收到“警告:标头已发送”,那么您已经确定了您的问题。
标签: javascript php jquery wordpress