我正在尝试按照Wordpres Codex上的建议使用wp_enqueue_style
加载脚本,但脚本似乎并未包含在源代码中。这是正确的方法吗?
function load_scripts() {
wp_enqueue_style('bootstrap.css', get_template_directory_uri() . '/css/bootstrap.min.css');
}
add_action('wp_enqueue_scripts', 'load_scripts');
答案 0 :(得分: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');
如果不是,您可能会遇到代码放置问题,但是如果您将所有内容保存在functions.php中以及任何其他范围之外,那么这应该不是问题。 另一个可能导致此行为的方法是,如果您已经使用相同的句柄注册了样式表或脚本(在本例中为“bootstrap.css”)。 wp_enqueue_style()函数中的第一个参数只是内部依赖关系管理的句柄,应该是唯一的,尝试将其重命名为其他内容并查看是否能解决您的问题。
答案 1 :(得分:1)
首先注册样式:
function register_plugin_styles() {
wp_register_style('my-plugin', plugins_url('my-plugin/css/plugin.css'));
wp_enqueue_style('my-plugin');
}
http://codex.wordpress.org/Function_Reference/wp_register_style
这样做。不要试图直接入队。并将代码放入functions.php当然。
答案 2 :(得分:1)
好的,第一步是确保您使用的是CSS文件的正确路径。 在主题或其他适当位置的functions.php中添加以下行。
print( get_template_directory_uri() . '/css/bootstrap.min.css' );
这应该在页面顶部打印所需样式表的URL。复制此网址并将其粘贴到新标签中,如果它打开了样式表,那么您就可以使用了。否则,路径有误。
第二步是确保正在显示的页面上调用 wp_head()。可以将其放置在标题模板中,也可以将其放在档案/帖子文件等的顶部。此功能实际上在页面上呈现样式和脚本。
没有wp_head(),它基本上没有任何作用,因为如果您知道确切的路径,则可以手动添加链接和脚本。
答案 3 :(得分:1)
请注意,在管理模式下,有一个特殊的钩子'admin_enqueue_scripts'。因此,如果需要在两种模式下都加载CSS,则应在两个钩子上完成。
function load_scripts() {
wp_enqueue_style('bootstrap.css', get_template_directory_uri() . '/css/bootstrap.min.css');
}
add_action('wp_enqueue_scripts', 'load_scripts');
add_action('admin_enqueue_scripts', 'load_scripts');
答案 4 :(得分:1)
如果您不想在模板中使用wp_head();
,还可以直接包含样式:
<link rel="stylesheet" href="<?php echo get_theme_file_uri( 'style.css' ); ?>">
尽管要小心:wp_head()包含大量的东西(脚本,样式等),它们都是由wordpress本身以及大多数插件组成的,所以只有在知道自己要使用的内容时才忽略它做。
答案 5 :(得分:0)
您正试图在wp_enqueue_scripts挂钩上排队样式。 尝试 wp_print_styles 。
add_action('wp_print_styles', 'load_scripts');
首先尝试注册样式。
答案 6 :(得分:0)
首先用以下代码确认css文件的路径是否正确:
function load_scripts() {
wp_enqueue_style('load-custom-css-new', get_template_directory_uri() . '/css/bootstrap.min.css');
}
add_action('wp_enqueue_scripts', 'load_scripts');
或使用此URL。
https://developer.wordpress.org/reference/functions/wp_enqueue_style/