过滤器以进一步自定义 Perfmatters

以下是 Perfmatters 中所有可用过滤器的列表。 这些允许您进一步自定义插件。 如果您需要一种简单的方法来添加过滤器,我们推荐免费的 代码片段插件. 看看这篇文章 如何将 PHP 添加到您的 WordPress 网站.

perfmatters_allow_buffer

perfmatters_allow_buffer filter 允许您有选择地禁用 Perfmatters 输出缓冲区完全运行。

if(strpos($_SERVER['REQUEST_URI'], 'endpoint/')) {
	add_filter('perfmatters_allow_buffer', '__return_false');
}

perfmatters_cache_path

perfmatters_cache_path 过滤器允许您更改默认缓存路径(cache) 到 wp-content 中的自定义目录。

add_filter('perfmatters_cache_path', function($path) {
    return 'custom/folder';
});

perfmatters_cdn

perfmatters_cdn 过滤器允许您操作 CDN 重写 Perfmatters 中的功能。 下面是一个示例,说明如何仅针对页面有选择地关闭 CDN 重写。

add_filter('perfmatters_cdn', function($cdn) {
  if(is_singular('page')) {
    return false;
  }
  return $cdn;
});

perfmatters_defer_js 过滤器

perfmatters_defer_js 过滤器允许您操作 JS 延期. 以下是如何仅在页面上关闭延迟的示例。

add_filter('perfmatters_defer_js', function($defer) {
      if(is_singular('page')) {
        return false;
    }
    return $defer;
});

perfmatters_delayed_scripts

perfmatters_delayed_scripts 过滤器允许您操纵您的 延迟脚本. 例如,您可以排除特定脚本在桌面设备上的延迟。

add_filter('perfmatters_delayed_scripts', function($scripts) {
     if(($key = array_search('name_of_your_script', $scripts)) !== false) {
         if(!wp_is_mobile()) {
             unset($scripts[$key]);
         }
     }
     return $scripts;
 });

perfmatters_delay_js

perfmatters_delay_js 过滤器用于转动您的 延迟脚本 完全打开或关闭。 例如,您可以仅在页面上关闭延迟。

add_filter('perfmatters_delay_js', function($delay) {
      if(is_singular('page')) {
        return false;
    }
    return $delay;
});

perfmatters_delay_js_behavior

perfmatters_delay_js_behavior 过滤器允许您操纵延迟 JS 行为。 例如,您可以在单个帖子上强制延迟所有 JS 行为。

add_filter('perfmatters_delay_js_behavior', function($behavior) {
  
  if(is_singular('post')) {
	$behavior="all";
  }

  return $behavior;
});

perfmatters_delay_js_timeout

perfmatters_delay_js_timeout 过滤器允许您操作 JS 延迟超时 特征。 例如,您可以将延迟超时更改为 7 秒,而不是自动设置为 10 秒。 但是,请务必不要将超时值设置得太短,否则 JS 延迟功能将无法正常工作。 请记住,99% 的情况下,一切都会在用户交互时触发。

add_filter('perfmatters_delay_js_timeout', function($timeout) {
    return '7';
});

这是另一个示例,您可以将延迟超时更改为仅页面的 7 秒。

add_filter('perfmatters_delay_js_timeout', function($timeout) {

    if(is_singular('page')) {
        $timeout="7";
    }

    return $timeout;
});

perfmatters_disable_woocommerce_scripts

perfmatters_disable_woocommerce_scripts 过滤器使您可以更好地控制 禁用 WooCommerce 脚本 特征。 例如,您可以从脚本禁用中排除特定页面。

add_filter('perfmatters_disable_woocommerce_scripts', function($boolean) {
	if(is_page(123)) {
		return false;
	}
	return $boolean;
});

perfmatters_fade_in_speed

perfmatters_fade_in_speed 过滤器允许您调整 淡入 以毫秒为单位的转换速度(默认为 500)。 例如,您可以将速度更改为 1000 毫秒。

add_filter('perfmatters_fade_in_speed', function($speed) {
  return 1000; //speed in ms
});

perfmatters_get_current_ID

在某些情况下,您可能希望根据站点的配置添加一些自己的附加逻辑,以确保脚本管理器是 获取正确的 ID 对于您的所有帖子。 这 perfmatters_get_current_ID filter 允许您根据需要修改和返回不同的值。

function perfmatters_filter_current_ID($currentID) {

     $currentID = 123;

     return $currentID;
}
add_filter('perfmatters_get_current_ID', 'perfmatters_filter_current_ID');

perfmatters_lazyload

perfmatters_lazyload 过滤器允许您操作 延迟加载 Perfmatters 中的功能。 下面是一个示例,说明如何仅在页面上禁用所有延迟加载。

add_filter('perfmatters_lazyload', function($lazyload) {
    if(is_singular('page')) {
      return false;
    }
    return $lazyload;
});

perfmatters_lazyload_exclude_attributes

perfmatters_lazyload_exclude_attributes 过滤器可帮助您排除图像 延迟加载 这可能更难直接访问和操作。 它允许您添加特定于相关图像的任何属性或属性部分。

在下面的示例中,我们的目标是任何包含 title="Perfmatters" 属性或部分 class=’size-full 属性。 这只是一个字符串匹配,因此任何属性的任何部分都应该有效,它只需要与您要排除的图像或图像完全匹配。

function perfmatters_lazyload_exclude_attributes($attributes) {
     $attributes[] = "title="Perfmatters"";
     $attributes[] = "class="size-full";

     return $attributes;
}
add_filter("perfmatters_lazyload_excluded_attributes', 'perfmatters_lazyload_exclude_attributes');

以下是基于图像文件名匹配的排除示例。

function perfmatters_lazyload_exclude_attributes($attributes) {
     $attributes[] = 'src="https://domain.com/image.png"';

     return $attributes;
}
add_filter('perfmatters_lazyload_excluded_attributes', 'perfmatters_lazyload_exclude_attributes');

perfmatters_lazyload_force_attributes

perfmatters_lazyload_force_attributes filter 可以像上面排除的属性示例一样使用,但是当一个元素包含一个包含的属性时,我们的惰性加载器将跳过检查该项目的排除项并继续尝试延迟加载该元素。

function perfmatters_lazyload_force_attributes($attributes) {
     $attributes[] = "title="Perfmatters"";
     $attributes[] = "class="size-full";

     return $attributes;
}
add_filter("perfmatters_lazyload_forced_attributes', 'perfmatters_lazyload_force_attributes');

perfmatters_lazyload_youtube_thumbnail_resolution

perfmatters_lazyload_youtube_thumbnail_resolution 过滤器允许您更改 YouTube 缩略图的质量. 默认情况下,会从 YouTube 拉取低分辨率图像,但您可以将其更改为 maxresdefault如果可用,请拉出最高质量。

add_filter('perfmatters_lazyload_youtube_thumbnail_resolution', function($resolution) {
return 'maxresdefault';
});

您还可以使用 wp_is_mobile 功能可在移动设备上显示低分辨率图像,同时在桌面上显示高分辨率缩略图。

add_filter('perfmatters_lazyload_youtube_thumbnail_resolution', function($resolution) {
if(!wp_is_mobile()) {
$resolution = 'maxresdefault';
}
return $resolution;
});

perfmatters_lazyload_threshold

perfmatters_lazyload_threshold 过滤器允许您更改 延迟加载的视口阈值. 它接受 px 或 %。 您还可以在 Perfmatters 插件设置的延迟加载部分更改此属性。

add_filter('perfmatters_lazyload_threshold', function($threshold) {
 return '500px';
});

perfmatters_page_builders

perfmatters_page_builders filter 让您可以更好地控制哪些查询字符串参数被排除在优化之外。 例如,您可以添加自己的唯一页面构建器参数。

add_filter('perfmatters_page_builders', function($page_builders) {
  $page_builders[] = 'custom-builder';
  return $page_builders;
});

perfmatters_preloads

perfmatters_preloads 过滤器允许您操纵您的 预载. 例如,您可以从打印中删除特定的预加载。

add_filter('perfmatters_preloads', function($preloads) {
   foreach($preloads as $key => $preload) {    
     if($preload['url'] == 'https://example.com/style.css') {
       //custom code
       unset($preloads[$key]);
     }
   }
   return $preloads;
 });

perfmatters_remove_unused_css

您可以使用 perfmatters_remove_unused_css 过滤器以更改在您的网站上删除未使用的 CSS 的位置。 以下是仅在页面上关闭未使用的 CSS 的示例。

add_filter('perfmatters_remove_unused_css', function($boolean) {
	if(is_page()) {
	  return false;
	}
  	return $boolean;
});

perfmatters_rest_api_exceptions

perfmatters_rest_api_exceptions filter 允许您为可能需要连接到 WordPress Rest API 的插件或服务添加自定义路由例外。

add_filter('perfmatters_rest_api_exceptions', function($exceptions) {
  $exceptions[] = 'custom-route';
  return $exceptions;
});

perfmatters_rucss_excluded_selectors

perfmatters_rucss_excluded_selectors filter 允许您将自定义 CSS 选择器传递给 Excluded Selectors 选项,该选项将用于确定在生成 Used CSS 时可以安全删除哪些元素。

add_filter('perfmatters_rucss_excluded_selectors', function($selectors) {
	$selectors[] = '.wp-block-column';
  	return $selectors;
});

perfmatters_script_manager_locale

perfmatters_script_manager_locale filter 允许您更改脚本管理器 UI 使用的语言,无论 WordPress 中的默认设置如何。 例如,您可以强制脚本管理器使用英语,即使站点语言不同。

add_filter('perfmatters_script_manager_locale', function($locale) {
  return 'en_US';
});

perfmatters_used_css

perfmatters_used_css filter 主要面向第三方插件和主题开发者。 它可用于在将最终生成的 Used CSS 输出保存到文件之前对其进行操作。 例如,当需要针对正在运行的另一个函数调整 URL 时。

add_filter('perfmatters_used_css', function($used_css_string) {
    //custom code here
    return $used_css_string;
});
声明:本站资源绿色无后门无广告,可放心下载。如无特殊说明或标注,均为本站原创发布,转载请注明出处!