wp_enqueue_scripts 未被调用

问题描述 投票:0回答:4

我在 StackOverflow 和其他网站上看到了很多关于为什么“wp_enqueue_scripts”不起作用的问题,但没有一个是我想要的。

我想将脚本导入到我的 WordPress 主题中,并且我复制了从主要开发者 Wordpress 网站上截取的一段代码。

我的“functions.php”中有以下代码,输出为“OUTPUT 1OUTPUT 4”。 似乎“wpdocs_theme_name_scripts()”永远不会接到电话。

/**
 * Proper way to enqueue scripts and styles.
 */
function wpdocs_theme_name_scripts() {
    echo "OUTPUT 2";
    wp_enqueue_script( 'script-name', get_template_directory_uri() . '/js/main.js', array(), '1.0.0', true );
    echo "OUTPUT 3";
}
echo "OUTPUT 1";
add_action( 'wp_enqueue_scripts', 'wpdocs_theme_name_scripts' );
echo "OUTPUT 4";
php wordpress
4个回答
11
投票

注意

wpdocs_theme_name_scripts()
echo "OUTPUT 1";
之后和
echo "OUTPUT 4";

之前不会被调用

add_action()
只会注册一个回调,当遇到
wp_head()
时会运行该回调。您可以在此答案中找到更多详细信息。

您在主题中添加了

wp_head()
吗?它通常添加在
header.php
中,就在
</head>
标签之前,例如:

<!DOCTYPE html>
<html lang="en"> 
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title><?php wp_title(); ?></title>
    <?php wp_head(); ?>
</head>

6
投票

对于在 admin 页面中遇到此问题的任何人,请使用

admin_enqueue_scripts
挂钩而不是
wp_enqueue_scripts
挂钩。

文档在这里


0
投票

当您在登录或注册表中查找此内容时,请使用“login_enqueue_scripts”操作。

文档:

https://developer.wordpress.org/reference/hooks/login_enqueue_scripts/


-1
投票
<?php /* This code is use in function.php */ add_action( 'wp_enqueue_scripts', 'mytheme_scripts' ); function mytheme_scripts() { echo "Helllo"; wp_enqueue_style( 'mytheme-owlcaroselcss', get_template_directory_uri() . '/css/owl.carousel.css', array( 'mytheme-style' ), '20150312' ); echo "Helllo1"; } /* ****** */ ?> use in header.php with wp_head() function <html> <head> <?php wp_head();?> </head> </html>
    
© www.soinside.com 2019 - 2024. All rights reserved.