我将把出列语句放在“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有一个短代码,并且是一个单独的页面时,才会将脚本出列。否则,事情就会正常进行。更容易阅读代码并了解发生了什么。