我在加载CSS时遇到以下情况。
我有一个WordPress主题style.css 通过此代码将设置文件导入myfunctions.php 文件:
/* Function automatically executed by the hook:
* 1) (OPTIONAL): Register a script (without load it): in this case register the CSS settings
* 2) Load the CSS settings
*/
function wpb_adding_styles() {
wp_register_style(\'my_stylesheet\', get_template_directory_uri() . \'/style.css\');
wp_enqueue_style(\'my_stylesheet\');
}
/* Hooks a function on to a specific action (an action is a PHP function that is executed at specific
* points throughout the WordPress Core)
* @param \'wp_enqueue_scripts\': The name of the action to which \'wpb_adding_styles\' is hooked (wp_enqueue_scripts
* is the proper hook to use when enqueuing items that are meant to appear on the front end)
*/
add_action(\'wp_enqueue_scripts\', \'wpb_adding_styles\');
在这个
style.css 文件我定义了一些基本的CSS配置,例如主体设置:
body{
padding:0px;
margin:0px;
font-family:Arial, Helvetica, sans-serif;
font-size:12px;
}
然后我创建了一个新的
style2.css 要覆盖的设置文件\\将定义的某些属性添加到我的常规
style.css, 按照前面的示例,我将添加一个属性,即主体背景必须为黑色,类似于:
body {
........
........
........
background: #000;
}
好的,我想我需要加载
style.css 文件使用
style2.css 文件作为其依赖项,阅读文档在我看来,我可以做类似的事情(或者相反?)
function load_theme_styles() {
wp_enqueue_style(\'main-css\', get_template_directory_uri() . \'/style.css\', array(), \'1.0\', \'all\');
}
add_action(\'wp_enqueue_scripts\', \'load_theme_styles\');
其中array()不应为空,但必须包含
style2.css将不需要编辑的常规CSS文件(例如CSS框架的CSS文件,例如具有原始设置的BootStrap)与我覆盖要更改的设置的自定义CSS文件分开,这是一个好的解决方案吗?
如果这是一个很好的解决方案,你能告诉我如何传入上一个数组吗style2.css 文件
更新1:我已更改wpb_adding_styles() 这样:我的main-css 取决于style2.css.
function wpb_adding_styles() {
wp_enqueue_style(\'style2\', get_template_directory_uri() . \'/style2.css\', array(), \'1.0\', \'all\');
wp_enqueue_style(\'main-css\', get_template_directory_uri() . \'/style.css\', array(\'style2\'), \'1.0\', \'all\');
}
它似乎工作得很好,但我不确定它是否是正确的解决方案,因为如果我删除依赖项,它会再次工作得很好
wp_enqueue_style(\'main-css\', get_template_directory_uri() . \'/style.css\', array(), \'1.0\', \'all\');
Tnx公司
安德烈
最合适的回答,由SO网友:akamaozu 整理而成
看起来您使用依赖关系的方式与使用依赖关系的方式相反。
在Wordpress Codex, 他们试图解释应该如何使用它。
$deps (阵列)(可选)
此样式表所依赖的任何样式表的句柄数组。Dependent stylesheets will be loaded before
this stylesheet.
自从你style2.css
用于更改style.css
, 这意味着style2.css
取决于style.css
.
您的代码应该是这样的:
function wpb_adding_styles() {
wp_enqueue_style(\'main-css\', get_template_directory_uri() . \'/style.css\', array(), \'1.0\', \'all\');
wp_enqueue_style(\'style2\', get_template_directory_uri() . \'/style2.css\', array(\'main-css\'), \'1.0\', \'all\');
}
希望这有帮助!