要保证我的风格在级联中拥有最终发言权,唯一的方法就是在末尾加入它们<;压头(>);通过wp\\U头部挂钩。wp\\U排队在wp\\U头内不起作用,所以我不得不直接回显链接:
function gregory_enqueue_stylesheets() {
$base = get_stylesheet_directory_uri();
echo \'<link rel="stylesheet" href="\'.$base.\'/style-gregory.css" type="text/css" media="all">\';
return;
}
add_action( \'wp_head\', \'gregory_enqueue_stylesheets\', 18 );
最后,我可以相对轻松地设置我的风格,而无需使用高水平的特异性,或者!仅作为最后手段使用的重要规则罢工>
WP需要一个更好的排队系统每个样式,无论是文件链接还是内联样式,都应该通过相同的挂钩传递,从而允许优先级确定它们的顺序。出于调试目的,如果钩子还以注释形式输出每个样式的优先级值,这将非常有用
更新我已经能够保持对子主题中样式的控制,同时保持父主题的原始级联(使用主样式表、子样式表和一些样式语句),方法是将我的样式表一分为二,如问题所述。我不再使用wp\\u head()钩子,而是使用适当的、标准的wp\\u enqueue\\u scripts()钩子和高序数,以确保最后加载样式表。
my Child主题的默认样式表:
/*
Theme Name: Oenology-Gregory
Template: oenology
Version: 20120506-0026
*/
@import url("/wp-content/themes/oenology/style.css");
将我的主样式表排入队列的函数:
function gregory_enqueue_stylesheets() {
$base = get_stylesheet_directory_uri();
wp_enqueue_style( \'style-gregory\', $base.\'/style-gregory.css\' );
return;
}
add_action( \'wp_enqueue_scripts\', \'gregory_enqueue_stylesheets\', 18 );
然而,在我的样式表之后有一些WP生成的样式语句(即,不是父主题),我必须考虑使用高特异性css规则来覆盖与我相关的规则,或者寻找钩子来禁用它们,尤其是主体。自定义背景规则。
谢谢大家的评论。
干杯,格雷戈里