⚙️ WP Rocket 参数修改指南(wp-rocket-change-parameters)

VFX大学 wordpress开发 ⚙️ WP Rocket 参数修改指南(wp-rocket-change-parameters)

标签: 

正在查看 0 条回复
  • 作者
    帖子
    • #629

      追光
      管理员

      如何通过代码修改 WP Rocket 的参数(参数覆盖 / 自定义配置),以下是一份全面整理的说明,适用于你使用的 WP Rocket 2.9.8 修复版或新版插件。


      ⚙️ WP Rocket 参数修改指南(wp-rocket-change-parameters)

      WP Rocket 提供一套丰富的参数机制,可通过 过滤器(filter)常量(constant)wp-config.phpfunctions.php 中进行自定义控制。这在你使用修复版 2.9.8 时尤其重要,可避免直接改动插件核心文件。


      ✅ 一、通过

      wp-config.php

      修改核心行为(常量)

      将以下内容添加至 wp-config.phpdefine( ‘WP_CACHE’, true ); 上方或下方。

      常量

      作用

      WP_ROCKET_CACHE_ENABLED

      是否启用缓存(默认 true

      WP_ROCKET_MOBILE_CACHE

      启用移动缓存

      WP_ROCKET_SSL_CACHE

      启用 SSL 页面缓存

      WP_ROCKET_COOKIE_HASH

      手动设定 cookie 哈希,避免登录缓存冲突

      DONOTROCKETOPTIMIZE

      禁用所有优化(适用于调试时)

      示例:

      define( 'WP_ROCKET_CACHE_ENABLED', true );
      define( 'WP_ROCKET_MOBILE_CACHE', true );
      define( 'WP_ROCKET_SSL_CACHE', true );
      define( 'DONOTROCKETOPTIMIZE', false );

      ✅ 二、通过 Hook 过滤器修改设置(推荐方式)

      🔹 1. 修改默认缓存寿命(单位:秒)

      add_filter( 'rocket_cache_lifetime', function( $lifetime ) {
          return 3600 * 12; // 设置为 12 小时
      });

      🔹 2. 添加排除页面(不缓存)

      add_filter( 'rocket_cache_reject_uri', function( $uris ) {
          $uris[] = '/login';
          $uris[] = '/user/*';
          return $uris;
      });

      🔹 3. 添加排除 Cookie(用户登录后不缓存)

      add_filter( 'rocket_cache_reject_cookies', function( $cookies ) {
          $cookies[] = 'wordpress_logged_in';
          $cookies[] = 'my_custom_cookie';
          return $cookies;
      });

      🔹 4. 添加排除 User Agent(设备、爬虫)

      add_filter( 'rocket_cache_reject_ua', function( $uas ) {
          $uas[] = 'Lighthouse'; // 排除 Google Lighthouse 测速工具
          return $uas;
      });

      🔹 5. 指定缓存目录位置(高级用法)

      add_filter( 'rocket_cache_dir', function( $dir ) {
          return '/custom/path/to/wp-rocket-cache/';
      });

      ✅ 三、移动缓存独立化(为手机和 PC 生成不同缓存)

      若你希望针对移动端生成独立缓存:

      define( 'WP_ROCKET_MOBILE_CACHE', true );
      define( 'WP_ROCKET_SEPARATE_MOBILE_CACHE', true );

      📌 2.9.8 版本部分移动端 UA 匹配逻辑较旧,建议你修复 /inc/front/device.class.php 中的正则表达式,以支持新版浏览器。


      ✅ 四、禁用 CDN 替换行为(避免用户登录时资源 404)

      add_filter( 'rocket_cdn_reject_files', function( $files ) {
          $files[] = 'wp-login.php';
          $files[] = 'user-dashboard';
          return $files;
      });

      ✅ 五、在多站点中每站独立设置

      WP Rocket 默认不支持每个子站单独配置(尤其 2.9.8 版本),你可以在子站 functions.php 中加入条件限制:

      if ( get_current_blog_id() === 2 ) {
          add_filter( 'rocket_cache_lifetime', function( $lifetime ) {
              return 3600; // 子站2设置为1小时
          });
      }

      🧾 小结:wp-rocket-change-parameters 用法总结

      方式

      场景

      示例

      wp-config.php 常量

      启用/关闭核心功能

      define(‘WP_ROCKET_CACHE_ENABLED’, false);

      filter 钩子

      精细调整行为

      缓存时长、排除路径、CDN 规则等

      多站点兼容

      get_current_blog_id() 分站设定

      每个站点不同设置策略

正在查看 0 条回复
  • 在下方一键注册,登录后就可以回复啦。