我正在开发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上找到的许多其他解决方案),但这些都不起作用。我不知道是什么问题。
的屏幕截图编辑:它不起作用,因为在CSS中未链接到php文件,它显示纯HTML文本。如果我打开开发工具,则不会显示CSS属性。
谢谢!
答案 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');