php - 创建一个函数来注销 WordPress 用户?

我正在尝试创建一个函数,以便在一段时间不活动后注销 WordPress 用户。 timed 元素正常工作,并在设定的时间段后重定向用户。

问题是,一旦加载了 PHP 脚本(在代码示例中),我就会遇到以下错误: fatal error :调用/var/www/html/wp-content 中的未定义函数 wp_logout()/plugins/ion-wp-login-timeout/scripts/timed-logout.php 第 5 行

我读过的所有引用资料都告诉我 wp_logout() 应该注销用户,但是却出现了错误。我尝试了几种方法,包括添加一个 Action 。我不想将用户重定向到登录屏幕。

代码示例如下。 echo 语句纯粹用于测试。任何帮助将非常感激。

<?php

    function logout_this_session() {
        //Logout Now
        wp_logout();
        wp_die();
    }

    echo 'This will be the logout script<br/><br/>';

    $last_page = $_SERVER['HTTP_REFERER'];
    echo 'You came from: ' . $last_page;

    logout_this_session();

    header( 'Location: ' . $last_page );

?>

最佳答案

我终于想出了一个解决方案,如下面的代码示例所示。从注销用户之前的最后一个阶段开始,我有一个 wpsessionexpired=true 值回传到用户所在的页面。用户注销后立即刷新同一页面。我把它放在主插件文件中。

function logoutUser(){
    if ( $_POST["wpsessionexpired"] == 'true' ){ 
        wp_logout();
        header("refresh:0.5;url=".$_SERVER['REQUEST_URI']."");
    }
}
add_action('init', 'logoutUser');

https://stackoverflow.com/questions/49193208/

相关文章:

css - Flex 布局 - "flex-basis: 1e-09px"是什么意思?

mongodb - 使用 Mongoose 和 SRV 连接字符串将数据插入 MongoDB Atl

scala - 扁平化 future 内部 yield

firebase - Cloud Functions for Firebase 是否遵守实时数据库规

antd - 为选择的多个组件设置默认初始值

python - 从python字符串中删除大写字母

apache-kafka - 一对多KStream-KTable连接

reactjs - 从 REST API 加载的 react native 图像 URL 未显示

git - 使用通配符过滤 git 分支

vuejs2 - 在 vue.js 中捕获 API 请求中的错误