【问题标题】:Redirect user after editing a post with the WordPress Front-end Editor plugin使用 WordPress 前端编辑器插件编辑帖子后重定向用户
【发布时间】: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


【解决方案1】:

... 由于插件使用 AJAX 更新帖子,在 save_post 上重定向页面只会改变响应。看看 XHR。它将具有页面的 HTML。保存后使用redirect_post_location重定向。

【讨论】:

    猜你喜欢
    • 2016-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-16
    相关资源
    最近更新 更多