繁体   English   中英

Wordpress 自动注销和页面刷新

[英]Wordpress auto logout and page refresh

我正在开发一个页面,一旦用户登陆它就会自动注销,然后页面会立即刷新。 页面重新加载后,用户将被注销。 类似的行为是,如果用户以隐身模式打开页面,但我希望在他们打开指向该页面的链接时自动发生这种情况。

我只希望这发生在 select 页面中,我认为可以使用简码来执行上述操作,但无法使其正常工作。

我试过这个钩子,然后根据这篇文章创建一个短代码,除了我添加了get_permalink

add_action( 'wp_logout', 'redirect_after_logout');
function redirect_after_logout(){
  wp_redirect( get_permalink() );
  exit();
}

/* Add shortcode */
add_shortcode('logout_and_refresh', 'redirect_after_logout');

但它似乎需要通过注销 URL 执行,我希望它在页面加载时自动发生。

<a href="<?php echo wp_logout_url( 'http://redirect-url' ); ?>" title="Logout">Logout</a>

您可以在init / template_redirect挂钩之后直接调用wp_logout() function。

https://core.trac.wordpress.org/browser/tags/5.7/src/wp-includes/pluggable.php#L618

但是如果你想在文件加载时执行,你可以使用 javascript 重定向到你的注销 url。

window.onload = function() {
    var uri = <?php echo json_encode(wp_logout_url( 'http://redirect-url' ));?>;
    location.href = uri;
};

您可以为此使用init操作挂钩。 首先,您需要检查用户是否登录。 检查下面的代码。 代码将 go 在活动主题 function.php 文件中。 测试和工作。

add_action( 'init', 'logout_user_land_on_page' );
function logout_user_land_on_page(){
    if ( is_user_logged_in() ) {
        wp_redirect( wp_login_url() );
        wp_logout();
        exit;   
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM