gpt4 book ai didi

javascript - 为什么我应该为 wp_enqueue_scripts 插入 wp_head()?

转载 作者:行者123 更新时间:2023-11-29 16:46:06 25 4
gpt4 key购买 nike

我已将这段代码添加到 functions.php,但 startwordpress_scripts() 函数没有运行。

function startwordpress_scripts() {
wp_enqueue_style( 'bootstrap', get_template_directory_uri() . '/css/bootstrap.min.css', array(), '3.3.6' );
wp_enqueue_style( 'blog', get_template_directory_uri() . '/css/blog.css' );
wp_enqueue_script( 'bootstrap', get_template_directory_uri() . '/js/bootstrap.min.js', array('jquery'), '3.3.6', true );
}

add_action( 'wp_enqueue_scripts', 'startwordpress_scripts' );

所以我在 header.php 中添加了以下代码,它们运行良好。

<?php wp_head(); ?>

现在我想知道wp_head()函数的神奇作用。谢谢。

最佳答案

在 WordPress 中,actionsfilters被视为 hooks . Hook 允许我们修改 WordPress 默认行为,而无需修改核心中的代码。

任何时候你有一个add_action('xxx', 'callback') , callback do_action('xxx') 时将调用函数被执行。

换句话说:当你有 add_action( 'wp_enqueue_scripts', 'startwordpress_scripts' ); , 这意味着 WordPress 将运行 startwordpress_scripts()什么时候do_action('wp_enqueue_scripts')被执行。

现在,让我们看看 WordPress 核心中的代码。

如果你看一下它的函数定义,wp_head()do_action( 'wp_head' );的“捷径”

function wp_head() {
/**
* Print scripts or data in the head tag on the front end.
*
* @since 1.5.0
*/
do_action( 'wp_head' );
}

换句话说,wp_head()将执行所有用 add_action('wp_head') 定义的回调.

如果您现在查看 wp-includes/default-filters.php文件,你会看到:

add_action( 'wp_head', 'wp_enqueue_scripts',1 );

意思是当wp_head()在您的模板中遇到一个名为 wp_enqueue_scripts() 的函数正在执行,因为它 Hook 到 wp_head , 如上面的代码行所示。

wp_enqueue_scripts()的函数定义是:

function wp_enqueue_scripts() {
/**
* Fires when scripts and styles are enqueued.
*
* @since 2.8.0
*/
do_action( 'wp_enqueue_scripts' );
}

do_action( 'wp_enqueue_scripts' );以上是告诉WordPress执行所有add_action('wp_enqueue_scripts', 'callback')的回调函数。已定义。

简而言之:

  1. wp_head()电话 do_action('wp_head')
  2. do_action('wp_head')执行所有add_action('wp_head','callback')的回调函数
  3. wp_enqueue_scripts()add_action('wp_head','callback')的一个回调
  4. wp_enqueue_scripts()电话 do_action('wp_enqueue_scripts')
  5. do_action('wp_enqueue_scripts')执行所有add_action('wp_enqueue_scripts','callback')的回调函数
  6. startwordpress_scripts()add_action('wp_enqueue_scripts','callback')的一个回调
  7. 您在 startwordpress_scripts() 中定义的 JS/CSS包括在内

关于javascript - 为什么我应该为 wp_enqueue_scripts 插入 wp_head()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41338743/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com