缓存的php?仅当以管理员身份登录时,才会呈现更新

时间:2018-06-20 作者:Adelin

我被要求修复一个基于wordpress的网站,但我不知道这是怎么回事。

(自定义)主题具有page-home.php 这是主页。

无论我对这个文件做了什么编辑,如果我刷新登录到wp admin的页面(所以,我是管理员),就会看到更改,但注销(匿名——因为该网站是要使用的),仍然是旧内容。

我做了以下工作:

本地下载所有站点,打开所有*.php 文件,并搜索重复的类似主页网站,以防为匿名浏览提供不同的网站-没有重复的文件搜索关键字,如is_admin, is_user_logged_in, 没有找到这样的逻辑this post 获取WP中的执行顺序。有点帮助,但没有帮助我解决问题header.php 文件->结果仅在登录时显示

我假设wordpress正在呈现一些页面,但是如果匿名,为什么不使用最新的更改呢?如何修复此问题?

2 个回复
SO网友:Elex

如果你有wp-cli 已安装:https://wp-cli.org/你可以试试wp cache type 来自文件夹根目录的命令。

如果你得到Unknown 我认为这是一个插件问题或mu插件问题。

如果是Default, 没有WP缓存插件(我不是很确定,但90%确定)。

之后,您可以从项目的根目录中搜索“WP\\u CACHE”。

grep -Ri \'WP_CACHE\' *
您可以删除此常量并删除缓存文件夹。一切正常。(我为你祈祷)

SO网友:Adelin

所以我删除了缓存文件夹,删除了很多插件,编辑了.htaccess 文件等仍然无法工作。

我想,如果在登录后缓存问题丢失,并且由于此网站设计为匿名使用,那么请登录一个假用户。

我创建了一个用户anonuser 添加了订阅服务器角色functions.php 此代码用于自动登录(source):

function auto_login() {
  $loginusername = \'anonuser\';
  if (!is_user_logged_in()) { 
    //get user\'s ID
    $user = get_user_by(\'login\', $loginusername);
    $user_id = $user->ID;
    wp_set_current_user($user_id, $loginusername);
    wp_set_auth_cookie($user_id);
    do_action(\'wp_login\', $loginusername);
    show_admin_bar(false);
    exit;
  }
}
add_action(\'wp\', \'auto_login\');
最后,以防有人来访wp-admin 手动注销并显示登录页面(source):

add_action( \'init\', \'my_custom_dashboard_access_handler\');

function my_custom_dashboard_access_handler() {

  // Check if the current page is an admin page
  // && and ensure that this is not an ajax call
  if ( is_admin() && !( defined( \'DOING_AJAX\' ) && DOING_AJAX ) ){

    //Get all capabilities of the current user
    $user = get_userdata( get_current_user_id() );
    $caps = ( is_object( $user) ) ? array_keys($user->allcaps) : array();

    //All capabilities/roles listed here are not able to see the dashboard
    $block_access_to = array(\'subscriber\', \'contributor\', \'my-custom-role\', \'my-custom-capability\');

    if(array_intersect($block_access_to, $caps)) {
      wp_logout();
      wp_redirect( wp_login_url() );
      exit;
    }
  }
}

结束

相关推荐

404更改登录URL后重定向wp-登录和wp-admin

我已使用以下代码成功地将登录页面更改为自定义url:这一个进入wp配置。phpdefine(\'WP_ADMIN_DIR\', \'secret-folder\'); define( \'ADMIN_COOKIE_PATH\', SITECOOKIEPATH . WP_ADMIN_DIR); 这一个变成了函数。phpadd_filter(\'site_url\', \'wpadmin_filter\', 10, 3); function wpadmin_filter( $url