首页 > 解决方案 > 在 Wordpress 子主题中排队多个样式表

问题描述

我设置了几个 Wordpress 站点,并为所有站点创建了子主题。其中一个站点将拥有多个子站点,这些子站点都将包含定制品牌。我的子主题中有一个样式表,我的 functions.php 文件中有以下代码。

if ( !function_exists( 'chld_thm_cfg_locale_css' ) ):
function chld_thm_cfg_locale_css( $uri ){
    if ( empty( $uri ) && is_rtl() && file_exists( get_template_directory() . '/rtl.css' ) )
        $uri = get_template_directory_uri() . '/rtl.css';
    return $uri;
}
endif;
add_filter( 'locale_stylesheet_uri', 'chld_thm_cfg_locale_css' );

if ( !function_exists( 'chld_thm_cfg_parent_css' ) ):
function chld_thm_cfg_parent_css() {
    wp_enqueue_style( 'chld_thm_cfg_parent', trailingslashit( get_template_directory_uri() ) . 'style.css', array( 'font-awesome','swiper','perfect-scrollbar','animate' ) );
}
endif;
add_action( 'wp_enqueue_scripts', 'chld_thm_cfg_parent_css', 10 );

这工作正常,我的样式表按预期运行。我遇到的问题是,当我添加具有自定义品牌的新子站点时,此样式表 style.css 的大小变得越来越难以管理。我想要做的是在我的子网站的子主题中加入另一个样式表。我尝试复制上面的代码以将新样式表排入队列,但它不起作用。这是我在上面代码下方的 functions.php 文件中添加的内容:

if ( !function_exists( 'coastal_thm_cfg_locale_css' ) ):
function coastal_thm_cfg_locale_css( $uri ){
    if ( empty( $uri ) && is_rtl() && file_exists( get_template_directory() . '/rtl.css' ) )
        $uri = get_template_directory_uri() . '/rtl.css';
    return $uri;
}
endif;
add_filter( 'locale_stylesheet_uri', 'coastal_thm_cfg_locale_css' );

if ( !function_exists( 'coastal_thm_cfg_parent_css' ) ):
function coastal_thm_cfg_parent_css() {
    wp_enqueue_style( 'coastal_thm_cfg_parent', trailingslashit( get_template_directory_uri() ) . 'coastal-style.css', array( 'font-awesome','swiper','perfect-scrollbar','animate' ) );
}
endif;
add_action( 'wp_enqueue_scripts', 'coastal_thm_cfg_parent_css', 11 );

我认为这会起作用,但事实并非如此。我了解子主题,但必须管理整个排队过程,这让我很困惑。我使用了一个插件 Child Theme Configurator 来排列主要的子主题样式表。

我浏览了 Stackoverflow 中的几篇博客文章和问题,但找不到特定问题的答案。

像这样将多个样式表排入队列可能吗?

如果是这样,我做错了什么?

标签: phpcsswordpress

解决方案


推荐阅读