将主题的样式表排入队列有多重要?

时间:2012-03-07 作者:byronyasgur

我已经在网上搜索了这个问题的答案,但出于某种原因,我所能找到的都是实际的例子,但没有特别的解释,比如说脚本。有人能向我解释一下,为什么在开发主题时将样式排成一列,而不仅仅是使用<link rel=stylesheet> 在标题中。php。

另外,主题的默认样式表应该也被排队吗?

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

将样式表排队是很重要的,因为它将允许子主题灵活地将其排队,并允许将其列出为依赖项和许多其他内容。它通常只允许您和与您的代码交互的任何其他开发人员具有更大的灵活性。

还需要注意的是,在主题中使用默认样式表不是必需的。样式表必须存在,但如果您仅将其用于命名主题、设置版本等,wordpress完全可以做到这一点,批准主存储库主题的人员也可以做到这一点。

SO网友:kaiser

As an addition to the other answer by @m0r7if3r:

您可以使用current_theme_supports() 仅在有主题支持的情况下加载父主题样式表。

function add_supported_stylesheets()
{
    if ( current_theme_supports( \'parent-stylesheet\' ) )
        wp_enqueue_style( \'main\', get_stylesheet_directory_uri().\'/style.css\', array(), filemtime( get_stylesheet_directory().\'/style.css\' );
}

// In your parent themes bootstrap in the functions.php file
// Add the theme support:
add_theme_support( \'parent-stylesheet\' );
// Then add the stylesheet:
add_action( \'after_setup_theme\', \'add_supported_stylesheets\', 20 );
请注意,此函数添加filemtime 在版本号上,以防止文件内容更改时浏览器缓存

这将允许您的用户通过一个简单的fn调用禁用子主题引导中的样式表:

remove_theme_support( \'parent-stylesheet\' );
// ...or...
add_theme_support( \'parent-stylesheet\' );

SO网友:Steve Taylor

排队的另一个原因是它允许插件使用样式进行操作。例如,更好的WordPress缩小功能将自动并连接CSS文件,而WP-LESS将编译LESS文件并动态缓存它们。它们都是通过连接到样式队列并处理排列在那里的文件来实现这一点的。

可能有特定的原因需要将某些样式排除在此类内容之外,但一般来说,让您的样式可用于此类有用的功能是很好的。

结束

相关推荐

如何从子主题中删除css?

我正在使用主题twentyten 作为“我的孩子”主题的父主题。我还想使用其他样式表,所以我想知道如何wp_deregister_style 对于style.css 在head html的节。我已经检查了全球$wp_styles 变量围绕shutdown hook和我看到了其他风格,但没有style.css - 如何让我的孩子主题停止使用它?我意识到主题名称和信息必须存储在这里-我不想删除它,我只是不想这样enqueued