如何自动注销用户并将其重定向到WordPress中带有自定义消息的登录页面

时间:2014-02-19 15:26:13

标签: php wordpress-plugin wordpress

当查看任何页面时,我需要确保用户ID在自定义数据库表中,如果该ID不存在,我想将用户注销,不允许他查看任何内容。我还想在登录页面上显示一条自定义消息,说“您无权查看此博客。”

我尝试使用某些wp logout / redirect函数执行此操作,但我希望在wp站点的所有页面上都自动执行此操作。此外,我不知道如何将自定义消息发送到登录页面。我想我可以设置一个POST值或类似的东西,并修改登录页面以检查该值是否存在。

任何有关如何正确的帮助或提示将不胜感激。

1 个答案:

答案 0 :(得分:3)

尝试以下

将以下代码放在主题模板中。

    //Logic for checking whether the ID exists or not
    if(empty($id)){
       wp_logout();
    }

将以下内容放入function.php

    //When the user is logged out redirect him/her to the login page with a custom parameter
    add_action('wp_logout','go_home');
    function go_home(){
      wp_redirect( '/wp-login.php?action=logout&custom-logout=yes' );
      exit();
    }

    //If the custom parameter is set display the message on the login screen
    if(!empty($_GET['custom-logout']) && strtolower($_GET['custom-logout']) == "yes"){
     function custom_login_message() {
         $message = '<p class="message">Add your message here...</p><br />';
         return $message;
     }
     add_filter('login_message', 'custom_login_message');
    }