特定站点类型的入队样式

时间:2017-12-01 作者:p_0g_amm3_

我只想在特定的网站类型(文章(single.php)、类别(category.php)和404页面(404.php))上导入样式。我尝试使用is\\u page(),但我不知道它是否适用于不同的网站类型。谢谢你的帮助。

Update这就是我试过的

wp_register_style(\'style-narrow\', \'/wp-content/themes/my theme/css/style-article-narrow.css\');
    if ( is_singular() ) {
        wp_enqueue_style(\'style-narrow\', \'general\', \'1.0\', \'screen\');
    }
以及

wp_register_style(\'style-narrow\', \'/wp-content/themes/my theme/css/style-article-narrow.css\');
        if ( is_page_template( \'category.php\' ) ) {
            wp_enqueue_style(\'style-narrow\', \'general\', \'1.0\', \'screen\');
        }

2 个回复
SO网友:David Sword

is_tax()is_404() 可能

https://codex.wordpress.org/Conditional_Tags

<人力资源>

UPDATE:

很抱歉,为了更好地阐述,我最初的回答含糊不清:

可以在wp_enqueue_scripts 钩子,选择在满足条件时注册并排队,如下所示:

add_action( \'wp_enqueue_scripts\', \'mythemes_scripts\' );
function mythemes_scripts() {

    if (is_category()) {
        wp_register_style(
            \'categoryStyles\',  
            get_template_directory_uri() . \'/style-category.css\', 
            array(), // maybe the primary style.css handle here 
            filemtime( get_template_directory() . \'/style-category.css\' )
        );
        wp_enqueue_style( \'categoryStyles\');
    }

    if (is_404()) {
        wp_register_style(
            \'fourohfourStyles\',  
            get_template_directory_uri() . \'/style-404.css\', 
            array(), // maybe the primary style.css handle here 
            filemtime( get_template_directory() . \'/style-404.css\' )
        );
        wp_enqueue_style( \'fourohfourStyles\');
    }

}
上面的codex链接有更多的条件标记,用于以下情况is_archive().

我把"// maybe the primary style.css handle here" 这样做会在条件样式表之前加载主样式表,因此任何CSS重新定义都会被正确覆盖。

这个filemtime() 对于版本编号(而不是“1.0”)将有助于缓存中断,这在尝试对可能正在重新定义的多个CSS包含进行故障排除时很有价值。

如果此代码是针对插件而不是主题的,则可以交换get_template_directory_uri()/get_template_directory_uri() 出于plugins_url()/plugin_dir_path() 分别地

SO网友:p_0g_amm3_

正如mmm所指出的,我还可以在模板文件中使用wp\\u enqueue\\u样式,因此我创建了另一个标头(header\\u single.php),其中包含

<?php wp_enqueue_style(\'style-narrow\', \'general\', \'1.0\', \'screen\'); ?>
<?php wp_head(); ?>
请注意,样式必须在wp_head() 被调用。

结束

相关推荐