在某些 WordPress 页面中禁用样式表

Moh*_*idi 2 css wordpress

我的样式表加载到我的 WordPress 主题中的所有页面上。我想在landing.php中禁用它。该文件位于以下地址:http://example.com/wp-content/uploads/fusion-styles/fusion-22528.css 到目前为止我已经尝试过这些代码:

function themeslug_enqueue_style() {
if (is_page_template( 'landing.php' )) {
wp_enqueue_style( 'stylesheet', 'http://example.com/wp-
content/uploads/fusion-styles/fusion-22528.css', false );
}
}
add_action( 'wp_enqueue_scripts', 'themeslug_enqueue_style' );
Run Code Online (Sandbox Code Playgroud)

和这个:

function se_remove_styles() {
if ( is_page_template( 'landing.php' ) ) {
wp_dequeue_style( 'http://example.com/wp-content/uploads/fusion-
styles/fusion-22528.css?timestamp=1510985246&ver=4.9' );
}
}
add_action( 'wp_print_styles', 'se_remove_styles', 99999 );action( 
'wp_print_styles', 'se_remove_all_styles', 999999 );
Run Code Online (Sandbox Code Playgroud)

但没有用。我曾经使用过这个代码:

function se_remove_all_styles() {
global $wp_styles;
if ( is_page_template( 'landing.php' ) ) {
$wp_styles->queue = array();
}
}
add_action( 'wp_print_styles', 'se_remove_all_styles', 99 );
Run Code Online (Sandbox Code Playgroud)

但它会删除我所有的样式。

任何帮助将不胜感激。

Elv*_*aci 6

此代码片段从 WP 前端删除名为“animate”的排队 CSS。

function se_remove_styles() {
wp_dequeue_style( 'animate' );
}
add_action( 'wp_enqueue_scripts', 'se_remove_styles',99999 );
Run Code Online (Sandbox Code Playgroud)

那么,如何获取排队CSS的句柄名称呢?有一些方法可以做到这一点,这是其中之一:

  1. 转到查看源:yourwebsite.com
  2. CTRL+F 并找到您需要的 CSS 文件。
  3. 你会看到这样的行:

    <链接rel =“stylesheet”id =“fusionblabla-css”href =“http://example.com/wp-content/uploads/fusion-styles/fusion-22528.css”type =“text/css”media = “全部”/>

您会在那里看到 id='fusionblabla-css' 。那么“fusionblabla”就是您要查找的句柄名称。(不是“fusionblabla-css”,而是““fusionblabla”)

完成并确保它正常工作后,您可以向该函数添加条件

function se_remove_styles() {
if (SOME CONDITION HERE)
wp_dequeue_style( 'animate' );
}
add_action( 'wp_enqueue_scripts', 'se_remove_styles',99999 );
Run Code Online (Sandbox Code Playgroud)