wp_enqueue_style没有加载CSS

Tor*_*rra 3 wordpress

我正在尝试使用wp_enqueue_styleWordpres Codex上的建议加载脚本,但脚本似乎没有包含在源代码中.这是正确的方法吗?

    function load_scripts() {
        wp_enqueue_style('bootstrap.css', get_template_directory_uri() . '/css/bootstrap.min.css');
    }
    add_action('wp_enqueue_scripts', 'load_scripts');
Run Code Online (Sandbox Code Playgroud)

Val*_*ius 6

你的行动和功能从这里看起来很好.wp_enqueue_scripts挂钩应该适用于样式表和脚本.

您是否尝试在函数中回显一些东西,看看它是否真的被调用了?即:

    function load_scripts() {
        echo "Does this output to the actual page?";
        wp_enqueue_style('bootstrap.css', get_template_directory_uri() . '/css/bootstrap.min.css');
    }
    add_action('wp_enqueue_scripts', 'load_scripts');
Run Code Online (Sandbox Code Playgroud)

如果不是,那么您的代码放置可能会出现问题,但是如果您将所有内容保存在functions.php中以及任何其他范围之外,那么这应该不是问题.另一个可能导致此行为的方法是,如果您已经使用相同的句柄注册了样式表或脚本(在本例中为"bootstrap.css").wp_enqueue_style()函数中的第一个参数只是内部依赖关系管理的句柄,应该是唯一的,尝试将其重命名为其他内容并查看是否能解决您的问题.


Rus*_*sty 6

  1. 好的,第一步是确保您使用的是正确的 CSS 文件路径。在您的主题或其他适当位置的functions.php 中添加以下行。

     print( get_template_directory_uri() . '/css/bootstrap.min.css' );
    
    Run Code Online (Sandbox Code Playgroud)

    这应该在页面顶部打印所需样式表的 URL。将此 URL 复制并粘贴到新选项卡中,如果它打开一个样式表,那么您就可以开始了。否则,路径有错误。

  2. 第二步是确保正在显示的页面上调用wp_head()。它可以放置在您的标题模板或档案/帖子文件等的顶部。此功能实际上是在页面上呈现样式和脚本。

    如果没有 wp_head(),它基本上没用任何东西,因为如果你知道确切的路径,你可以手动添加链接和脚本。

  • 正如您所提到的, wp_head 至关重要,但它会向您的 <head> 发送您可能不需要的各种代码,因此请参阅 https://wordpress.stackexchange.com/a/214449/184180 如何摆脱它 (2认同)

小智 1

您正在尝试将 wp_enqueue_scripts 挂钩上的样式排入队列。尝试wp_print_styles

add_action('wp_print_styles', 'load_scripts');
Run Code Online (Sandbox Code Playgroud)

首先还要尝试注册风格。