如何在WordPress 6.8中禁用推测性加载?现有方法无效
禁用WordPress 6.8推测性加载的解决思路
你之前使用的apply_filters('wp_speculation_rules_configuration', null)是调用过滤器,而非注册过滤规则,因此无法生效。以下是几种可行的解决方法:
方法一:直接返回null禁用所有规则
使用WordPress内置的__return_null回调函数,直接让过滤器返回null,阻止推测性加载脚本输出:add_filter( 'wp_speculation_rules_configuration', '__return_null' );方法二:移除输出规则的动作钩子
推测性规则是通过wp_head动作钩子调用wp_print_speculation_rules()函数输出的,直接移除该动作即可:remove_action( 'wp_head', 'wp_print_speculation_rules' );方法三:精细控制禁用部分规则
如果不需要完全禁用,只想移除特定类型的规则(如prerender或prefetch),可以修改配置数组:add_filter( 'wp_speculation_rules_configuration', function( $config ) { // 移除prerender规则 if ( isset( $config['prerender'] ) ) { unset( $config['prerender'] ); } // 移除prefetch规则 if ( isset( $config['prefetch'] ) ) { unset( $config['prefetch'] ); } // 配置为空时返回null,避免输出空规则脚本 return empty( $config ) ? null : $config; } );
代码放置说明
以上代码可添加到当前主题的functions.php文件中,或创建自定义插件来引入,避免主题更新导致代码丢失。
内容的提问来源于stack exchange,提问作者timholz
相关产品推荐
相关产品推荐

