如何删除某些页面模板的所有样式?

时间:2015-10-10 作者:Ryan

我知道如何创建子主题和页面模板。我有一个突出的子主题叫做突出的子主题,我有一个页面模板叫做blankPage。php。

对于所有使用此模板的页面,我希望根本不加载CSS。

我知道wp_register_script, wp_deregister_script, wp_deregister_style, wp_dequeue_style, 等等,但我不知道在哪里/如何使用它们。

我试着在blankPage中键入其中一些函数。php本身,我也尝试过编辑函数。php。我试着用条件if(is_page_template(\'blankPage.php\')){...}.

如有任何指导,将不胜感激。

谢谢

2 个回复
最合适的回答,由SO网友:Ryan 整理而成

我似乎解决了这个问题,它是如此简单,我感到震惊,我从来没有见过任何人提到过这一点。

首先,我删除了我的整个儿童主题,这样我就可以从一个新的地方重新开始。

然后,我用https://wordpress.org/plugins/one-click-child-theme/ 打造全新的儿童主题突出。

然后,在Appearance > Editor 菜单,我查看了functions.php 并注意到它已经预生成add_action( \'wp_enqueue_scripts\', \'theme_enqueue_styles\' );function theme_enqueue_styles() 对我来说。

因此,我简单地将函数的内容包装在if ( !is_page_template( \'rawHtmlPage.php\' ) ) { ...}.

SO网友:Subharanjan

您可以删除特定页面模板的特定样式和java脚本,如下所示。将代码添加到functions.php 当前主题的文件。要查看所有JS和CSS的列表,您可能需要使用如下插件:https://wordpress.org/plugins/debug-bar-list-dependencies/

/**
 * Remove specific java scripts.
 */
function se_remove_script() {
    if ( is_page_template( \'blankPage.php\' ) ) {
        wp_dequeue_script( \'some-js\' );
        wp_dequeue_script( \'some-other-js\' );
    }
}

add_action( \'wp_print_scripts\', \'se_remove_script\', 99 );

/**
 * Remove specific style sheets.
 */
function se_remove_styles() {
    if ( is_page_template( \'blankPage.php\' ) ) {
        wp_dequeue_style( \'some-style\' );
        wp_dequeue_style( \'some-other-style\' );
    }
}

add_action( \'wp_print_styles\', \'se_remove_styles\', 99 );
对于如下所示的特定页面模板,您可以一次性删除所有样式和java脚本。将代码添加到functions.php 当前主题的文件。

/**
 * Remove all java scripts.
 */
function se_remove_all_scripts() {
    global $wp_scripts;
    if ( is_page_template( \'blankPage.php\' ) ) {
        $wp_scripts->queue = array();
    }
}

add_action( \'wp_print_scripts\', \'se_remove_all_scripts\', 99 );

/**
 * Remove all style sheets.
 */
function se_remove_all_styles() {
    global $wp_styles;
    if ( is_page_template( \'blankPage.php\' ) ) {
        $wp_styles->queue = array();
    }
}

add_action( \'wp_print_styles\', \'se_remove_all_styles\', 99 );

相关推荐

在带有PHP的子主题中包含style.css

在里面https://codex.wordpress.org/Child_Themes 这是包含样式的最佳实践。css在子主题中,必须将下面的代码放入函数中。php的子主题,但将“父样式”替换为可以在函数中找到的父主题的参数。父主题的php。我在我的主题文件中找不到它,那里也没有多少代码。使用@import包含父主题样式表的方法不适用于我,放入文件的css不会在任何浏览器的站点上显示自己。function my_theme_enqueue_styles() { $parent_s