WordPress-排队脚本/CSS的问题


WordPress - Trouble with enqueue-ing scripts/CSS

所以,我已经很长时间没有使用Wordpress了,我正在努力回到正轨。显然,处理外部CSS/JS的正确方法是使用wp_register_stylewp_enqueue_stylewp_register_scriptwp_enqueue_script对它们进行排队。。。但它们根本不适合我。

以下是我当前的functions.php:

<?php
    // Enqueue necessary scripts/etc.
    function wasd_styles() {
        wp_register_style('semantic-css', get_stylesheet_directory_uri() . '/lib/semantic.min.css');
        wp_enqueue_style('semantic-css');
    }
    function wasd_scripts() {
        wp_register_script('semantic-js', get_template_directory_uri() . '/lib/semantic.min.js');
        wp_enqueue_script('semantic-js');
    }
    add_action('wp_enqueue_scripts', 'wasd_styles');
    add_action('wp_enqueue_scripts', 'wasd_scripts');
?>

我做错什么了吗?据我所知,它应该在我的页面标签中注入正确的调用来抓取CSS/JS,但是。。事实并非如此。

以下是我试图渲染的两个文件,我在大约5分钟内把它们放在一起,试图测试语义UI,但它根本不起作用,没有渲染任何样式,并且在源代码检查时是空的。

index.php

<?php get_header(); ?>
<div class="ui main container">
    <h2 class="ui dividing header">This is a test</h2>
</div>

header.php

<div class="ui top fixed inverted menu">
    <div class="item">Test</div>
</div>

根据您共享的代码,您的主题不支持使用wp_enqueue_script()。这个函数只需注册脚本并准备好插入DOM。这是通过一个钩子插入的,它似乎不存在于你的主题中。您需要将以下内容添加到header.php文件中。这通常将被添加在<head></head>标签之间。

<?php wp_head(); ?>

此外,您的footer.php文件中应该有一个类似的挂钩,通常就在关闭</body>标记之前。这个钩子是:

<?php wp_footer(); ?>

没有这些,wp_enqueue_script()wp_enqueue_style()将无法工作。