链接样式表的不同方式之间有什么不同

时间:2018-04-29 作者:Newbie

我只是在学习WP主题开发,所以这可能是一个非常愚蠢的问题,但我注意到从index.php:

<?php bloginfo(\'stylesheet_url\');?>

<?php echo get_stylesheet_uri(); ?>
Registerenqueue 通过函数和add_action 钩住functions.php.

这些就是我迄今为止遇到的问题。

它们之间有什么区别?他们似乎对我做了同样的事情,但我已经读到通过functions.php 是首选方式。为什么?

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

通过您的functions.php 是最好的,因为它允许WordPress跟踪加载的样式和顺序。这很重要,因为当css语句等效时,最后加载的语句将应用于页面。

当你独自开发一个简单的主题时,这可能并不重要(作为初学者,你可能会这样做),但一旦你想要更复杂的主题,你就会看到它的好处。例如,当您想要为第二个站点重用主题时,您需要构建一个子主题来存储更改。此时,您需要排队系统来控制从父主题和子主题加载样式表的顺序。

此外,当您想加载其他地方的样式表(如字体图标)时,排队系统会确保您不会与加载相同样式表的插件发生冲突。

SO网友:Pravayest Pravayest

而不是将样式表加载到标题中。php文件,您应该使用wp\\u enqueue\\u样式加载它。为了加载主样式表,您可以将其排入函数队列。php

排队样式。css

wp_enqueue_style( \'style\', get_stylesheet_uri() );
This will look for a stylesheet named “style” and load it.
将样式排队的基本功能是:

wp_enqueue_style( $handle, $src, $deps, $ver, $media );
可以包括以下参数:

$句柄只是样式表的名称。

$src是它所在的位置。其余参数是可选的。

$deps表示此样式表是否依赖于其他样式表。如果设置了此选项,则不会加载此样式表,除非首先加载其从属样式表。

$ver设置版本号。

$媒体可以指定加载此样式表的媒体类型,如“全部”、“屏幕”、“打印”或“手持”

因此,如果您想将名为“slider.css”的样式表加载到主题根目录中名为“css”的文件夹中,您可以使用:

wp_enqueue_style( \'slider\', get_template_directory_uri() . \'/css/slider.css\',false,\'1.1\',\'all\');

SO网友:Manyang

我认为有些功能只是链中的不同层次。通常,更深层次的功能更灵活。类似于<?php bloginfo(\'stylesheet_url\');?> , 不使用echo进行显示。您不能在中使用它

<?php 
$text_html = \'<a href="\'.bloginfo(\'stylesheet_url\').\'">Style Url</a>\';
return $text_html;
?>
但你可以使用

<?php 
    $text_html = \'<a href="\'.get_stylesheet_uri().\'">Style Url</a>\';
    return $text_html;
    ?>
您可以使用另一个案例来显示多个选项

function get_info_my_web($option){
 bloginfo($options);
}
取决于用户输入值,但不能使用get_stylesheet_uri()

对于enqueue,您可以制作另一个插件来引导您的脚本/样式,而无需更改html标记。

结束