wp_logout problem

时间:2017-03-21 作者:Greg Skala

我在nav walker中添加了自定义页面“/成员注销/”,用于用户注销。激活后,将启动函数“render logout”

function render_logout() {
    if ( is_user_logged_in() ){
         wp_logout();
    } else {
        echo "You are not logged-in"; 
    }
}
注销可以正常工作,但会产生很多警告

警告:无法修改标题信息-标题已由/home/s中的(输出开始于/home/……../formatting.php:5081)发送/wp包括/可插拔。php在线915

我也找不到错在哪里

但注销后重定向不起作用

    public function redirect_after_logout() {
    $redirect_url = home_url( \'member-login\' );
    wp_redirect( $redirect_url );
    exit;
}
add_action( \'wp_logout\', \'redirect_after_logout\' );
下面的注销链接工作得很好(没有警告),但这不是自动加载的。

<a href="<?php echo wp_logout_url( home_url() ); ?>" title="Logout">Logout</a>
你知道如何使用wp\\u重定向或类似的方法来运行这个链接吗?

1 个回复
SO网友:WebElaine

您可以创建一个自定义页面模板,该模板只包含注销代码,不调用标题。当您加载/member-logout/ 您可能正在调用默认页面page.php 正在加载的模板header.php 等等。如果应用自定义页面模板,它将只执行注销操作,然后可以重定向,因为没有发送任何标题(标题不同于header.php 但是一旦您输出任何HTML,它包含在header.php, 您有阻止重定向的标头)。

相关推荐

Wp_logout_url()-WordPress失败通知

我的wp_logout_url() 从前端开始工作。但是,当我从前端更改新密码时,在更改密码页面上,当我单击注销时wp_logout_url() 输出您正在尝试注销(站点名称)是否确实要注销?下面是一个屏幕截图片段有什么建议吗?