Contact 7正在将reCaptcha v3脚本加载到网站的所有页面上,这使得网站速度缓慢。所以我使用了下面的脚本,它在两周后运行良好,但是现在它停止工作了,现在它正在加载更多的脚本。为什么会是?
我不想使用额外的插件。
function contactform_dequeue_scripts() {
$load_scripts = false;
if( is_singular() ) {
$post = get_post();
if( has_shortcode($post->post_content, 'contact-form-7') ) {
$load_scripts = true;
}
}
if( ! $load_scripts ) {
wp_dequeue_script( 'contact-form-7' );
wp_dequeue_script('google-recaptcha');
wp_dequeue_style( 'contact-form-7' );
}
}
add_action( 'wp_enqueue_scripts', 'contactform_dequeue_scripts', 99 );发布于 2020-07-07 17:48:36
我会将dequeue语句放入'if‘中,替换$loadscripts行。不需要设置标志,然后检查标志以退出队列。这可能会简化代码,以便进一步调试。
编辑:建议的代码更正:
function contactform_dequeue_scripts() {
if (is_singular()) {
$post = get_post();
if (has_shortcode($post->post_content, 'contact-form-7')) {
wp_dequeue_script('contact-form-7');
wp_dequeue_script('google-recaptcha');
wp_dequeue_style('contact-form-7');
}
}
}
add_action('wp_enqueue_scripts', 'contactform_dequeue_scripts', 99);只有当CF7有一个短代码,如果它是一个单一页面时,这才是去队列的脚本。否则,事情就会正常进行。更容易读懂代码并弄清楚正在发生什么。
发布于 2021-03-04 20:09:56
这对我有用。
function contactform_dequeue_scripts() {
$load_scripts = false;
if( is_singular() ) {
$post = get_post();
if( has_shortcode($post->post_content, 'contact-form-7') ) {
$load_scripts = true;
}
}
if( ! $load_scripts ) {
wp_dequeue_script( 'contact-form-7' );
wp_dequeue_script( 'google-recaptcha' );
wp_dequeue_script( 'wpcf7-recaptcha' );
wp_dequeue_style( 'wpcf7-recaptcha' );
wp_dequeue_style( 'contact-form-7' );
}
}
add_action( 'wp_enqueue_scripts', 'contactform_dequeue_scripts', 99 );发布于 2021-04-23 10:54:26
更整洁的版本:
function wpcf7_dequeue_redundant_scripts() {
$post = get_post();
if ( is_singular() && !has_shortcode( $post->post_content, 'contact-form-7' ) ) {
wp_dequeue_script( 'contact-form-7' );
wp_dequeue_style( 'contact-form-7' );
wp_dequeue_script( 'wpcf7-recaptcha' );
wp_dequeue_style( 'wpcf7-recaptcha' );
wp_dequeue_script( 'google-recaptcha' );
}
}
add_action( 'wp_enqueue_scripts', 'wpcf7_dequeue_redundant_scripts', 99 );https://wordpress.stackexchange.com/questions/370564
复制相似问题