【问题标题】:How do I re-direct non admin and end users to home when hitting wp-admin打wp-admin时如何将非管理员和最终用户重定向到家
【发布时间】:2017-05-07 22:03:24
【问题描述】:

当外部用户或非管理员尝试访问 http://www.urlVisibleToUsers.com/wp-admin 时,会被重定向到错误页面,但 home_url(WP 安装所在的位置)仍然暴露且可见。我希望能够将所有最终用户或任何不是管理员的角色重新定向到http://www.urlVisibleToUsers.com/,并防止 adjax 调用中断。我的functions.php 中有以下代码,但外部用户仍会在导航栏中看到home_url 地址(尽管显示错误页面):

add_action( 'admin_init', 'admin_area_for_manage_options_only');
function admin_area_for_manage_options_only() {

      if( defined('DOING_AJAX') && DOING_AJAX ) {
            //Allow ajax calls in order to have ALM working
            return;
      }

      if( ! current_user_can( "manage_options" ) ) {
           //Redirect to main page if the user has no "manage_options" capability
           wp_redirect( get_site_url( ) );
           exit();
      }
 }

不确定为什么上面的代码不起作用,这是正确的方法吗?我应该在我的 .htaccess 中引入 Apache 重定向规则吗?

【问题讨论】:

    标签: wordpress .htaccess wp-admin


    【解决方案1】:

    将代码用作插件,主题功能对于某种动作/过滤器挂钩运行很晚。

    更好的是,只需将其添加为 mu-plugin,无需安装,无法通过管理面板禁用:https://codex.wordpress.org/Must_Use_Plugins

    <?php
    /**
     * Plugin Name: Admin only for admins
     */
    
    add_action( 'admin_init', function(){
          if( defined('DOING_AJAX') && DOING_AJAX ) {
                return;
          }    
          if( ! current_user_can( "manage_options" ) ) {
               wp_redirect( get_site_url( ) );
               exit();
          }
     });
    

    【讨论】:

      【解决方案2】:

      在你的functions.php中加入这段代码

      function redirect_non_admin_user(){
          if ( is_user_logged_in() ) {
              if ( !defined( 'DOING_AJAX' ) && !current_user_can('administrator') ){
                  wp_redirect( site_url() );  exit;
              }
          }
      }
      add_action( 'admin_init', 'redirect_non_admin_user' );
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-05-31
        • 2018-07-14
        • 2011-12-25
        • 2018-06-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多