为什么wp_enqueue_style在这里不起作用?

时间:2018-09-05 13:10:54

标签: javascript css wordpress styles

我正在开发WordPress主题。我的index.php和style.css位于主题目录根目录下的同一文件夹中。我的css文件位于“ css”文件夹中,我的js文件位于“ js”文件夹中。我想将CSS和JS添加到functions.php文件中的索引(具有wp排队样式/脚本)

add_action( 'wp_enqueue_scripts', 'add_stylesheet' );
function add_stylesheet() {
    wp_register_style('style', get_template_directory_uri() . '/style.css');
    wp_register_style('plugins', get_template_directory_uri() . '/css/plugins.css');
    wp_register_style('nav', get_template_directory_uri() . '/css/navigation-menu.css');
    wp_register_style('shortcode', get_template_directory_uri() . '/css/shortcodes.css');
    wp_enqueue_style('style');
    wp_enqueue_style('plugins');
    wp_enqueue_style('nav');
    wp_enqueue_style('shortcode');
}

但这不起作用。 我尝试了'if'条件,仅尝试了wp_enqueue_style函数(以及我在google上找到的许多其他解决方案),但这些都不起作用。我不知道是什么问题。

这是file tree

的屏幕截图

编辑:它不起作用,因为在CSS中未链接到php文件,它显示纯HTML文本。如果我打开开发工具,则不会显示CSS属性。

Like that

谢谢!

1 个答案:

答案 0 :(得分:0)

wp_enqueue_ *和各自的wp_register_ *函数之间的主要区别在于,第一个将脚本/样式添加到队列中,第二个准备要添加的脚本/样式。

您需要在该函数之后移动添加操作,此操作将起作用:

function add_stylesheet() {
    wp_register_style('style', get_template_directory_uri() . '/style.css');
    wp_register_style('plugins', get_template_directory_uri() . '/css/plugins.css');
    wp_register_style('nav', get_template_directory_uri() . '/css/navigation-menu.css');
    wp_register_style('shortcode', get_template_directory_uri() . '/css/shortcodes.css');
    wp_enqueue_style('style');
    wp_enqueue_style('plugins');
    wp_enqueue_style('nav');
    wp_enqueue_style('shortcode');
}
add_action( 'wp_enqueue_scripts', 'add_stylesheet' );

以下更新的答案:

为什么不仅要排入样式,而是先注册然后排入样式,如下所示:

function theme_scripts()
{
    wp_enqueue_style('style', get_template_directory_uri() . '/style.css');

wp_enqueue_style('style',get_template_directory_uri()。'wp_enqueue_style('plugins',get_template_directory_uri()。'/style.css');');

}

add_action('wp_enqueue_scripts', 'theme_scripts');