我学习了一些关于WP的脱队列和取消注册脚本和样式的教程--试图优化我的站点速度。
一开始,我可以排出队列和取消注册,直到我添加了一个条件的移动专用网站。现在功能不起作用了。
add_action( 'wp_enqueue_style', 'remove_default_stylesheet', PHP_INT_MAX);
if ( is_front_page() && wp_is_mobile() ) {
function remove_default_stylesheet() {
wp_dequeue_script( 'contact-form-7' );
wp_deregister_script( 'contact-form-7' );
}
} elseif ( is_front_page() ) {
function remove_default_stylesheet() {
wp_dequeue_style( 'contact-form-7' );
wp_deregister_style( 'contact-form-7' );
}
}
add_action( 'wp_enqueue_scripts', 'my_deregister_javascript', PHP_INT_MAX);
if ( is_front_page() && wp_is_mobile() ) {
function my_deregister_javascript() {
wp_dequeue_script( 'contact-form-7' );
wp_deregister_script( 'contact-form-7' );
}
} elseif ( is_front_page() ) {
add_action( 'wp_enqueue_scripts', 'my_deregister_javascript', PHP_INT_MAX);
function my_deregister_javascript() {
wp_dequeue_script( 'contact-form-7' );
wp_deregister_script( 'contact-form-7' );
}
} 我正在尝试排线和取消注册脚本和样式,这取决于它是否是主页,以及用户是否在移动。
我不明白为什么这件事不管用
发布于 2019-07-30 01:42:18
您应该从回调/函数(例如,is_front_page())内部运行条件标记(例如,remove_default_stylesheet()) --参见使用条件标记的位置和警告这里。并且没有名为wp_enqueue_style的钩子;只需使用wp_enqueue_scripts来登记/注册/dequeue/deregister一个样式表文件。
因此,我不确定您需要的确切条件,但以下内容将在首页和仅用于移动设备的contact-form-7样式和脚本文件中排出队列/取消注册:
add_action( 'wp_enqueue_scripts', 'remove_default_stylesheet', PHP_INT_MAX );
function remove_default_stylesheet() {
// Remove contact-form-7 on the front page and only for mobile devices.
if ( is_front_page() && wp_is_mobile() ) {
wp_dequeue_style( 'contact-form-7' );
wp_deregister_style( 'contact-form-7' );
}
}
add_action( 'wp_enqueue_scripts', 'my_deregister_javascript', PHP_INT_MAX );
function my_deregister_javascript() {
// Remove contact-form-7 on the front page and only for mobile devices.
if ( is_front_page() && wp_is_mobile() ) {
wp_dequeue_script( 'contact-form-7' );
wp_deregister_script( 'contact-form-7' );
}
}您还可以组合以下功能:
add_action( 'wp_enqueue_scripts', 'remove_plugin_scripts', PHP_INT_MAX );
function remove_plugin_scripts() {
// Remove contact-form-7 on the front page and only for mobile devices.
if ( is_front_page() && wp_is_mobile() ) {
// Remove style file.
wp_dequeue_style( 'contact-form-7' );
wp_deregister_style( 'contact-form-7' );
// Remove script file.
wp_dequeue_script( 'contact-form-7' );
wp_deregister_script( 'contact-form-7' );
}
}https://wordpress.stackexchange.com/questions/343948
复制相似问题