- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已将这段代码添加到 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 中,actions
和 filters
被视为 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')
的回调函数。已定义。
简而言之:
wp_head()
电话 do_action('wp_head')
do_action('wp_head')
执行所有add_action('wp_head','callback')
的回调函数wp_enqueue_scripts()
是add_action('wp_head','callback')
的一个回调wp_enqueue_scripts()
电话 do_action('wp_enqueue_scripts')
do_action('wp_enqueue_scripts')
执行所有add_action('wp_enqueue_scripts','callback')
的回调函数startwordpress_scripts()
是add_action('wp_enqueue_scripts','callback')
的一个回调startwordpress_scripts()
中定义的 JS/CSS包括在内关于javascript - 为什么我应该为 wp_enqueue_scripts 插入 wp_head()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41338743/
如何将脚本文件添加到 wp_head 的最顶部? 根据本指南,使用下面的代码将始终将我的新脚本文件添加到最底部: add_action('wp_head','hook_javascript'); fu
我已经编写了一个简单的插件供我自己使用,并且我正在尝试将一些 javascript 插入到 head 标记中。 如果我使用 add_action( 'init', 'add_to_head' ); 然
在 Wordpress 中,我有一个页面模板,它使用网站的其他部分不使用的特定 JS 文件和 CSS 文件。在这个特定的模板页面上,有没有办法在调用 wp_head 之前将这些项目添加到头部? 我意识
在wordpress主题中的header.php中,有一个wp_head()函数,表面上看不出什么玄机,只能在浏览器中查看源代码才能看出它所生成的如下代码: 复制代码 代码
我下载的许多插件都使用 wp_head 操作 Hook 将 JavaScript 添加到header,我一直使用 wp_enqueue_script() 在标签内输入 JS/Ajax。有什么不同?这是
问题是在我的单页导航网站上没有填充标题标签。 page.php 看起来像这样: > "/> /"> > footer.php 看起来像这样
我正在做一些 SEO 页面加载工作,Google 建议的其中一件事是将 asyng 添加到脚本标记中,以便它们更快地加载页面。 建议如下: https://developers.google.com/
大家好,我来这里已经有一段时间了,但刚刚决定加入。 我是 php 的新手,我正在尝试使用 WordPress 作为 CMS 创建一个网站。 无论如何,我基本上是在制作我自己的主题,因为我不希望我的网站
当直接移到顶部后与其他两个 jQuery 脚本发生冲突 section 并且这只发生在“产品”页面中。 conflicts with jQzoom.js and Navigation/jquer
我已将这段代码添加到 functions.php,但 startwordpress_scripts() 函数没有运行。 function startwordpress_scripts() {
我的问题是,当我在 header.php 中注释掉 wp_head 时,CSS 看起来很好。但我目前正在为该网站使用插件(Mailpoet、Formidable)。当 wp_head 被注释掉时,上述
这里是第一个问题。我想知道你们是否可以帮助我。 所以我试图将一个静态的 Bootstrap 主题网站传递到一个动态的 CMS wordpress 网站。所以我用 html/css 对网站进行编码,将其
我正在使用简单的 ajax 方法在 wordpress 站点中加载内容:我捕捉到对导航链接的点击并将 GET 参数添加到 url: jQuery('#topnav a').click(function
我正在编辑最新 wordpress 附带的标准二十三主题。 我需要将一些我自己的 .css 文件添加到 wp_head 中,但我不确定如何执行此操作。我目前在 wp_head 之外调用我的文件,但这很
我有这个 JavaScript 代码,我使用 wp_enqueue_script() 函数将其包含在我的插件中。一些 fork 告诉我,我需要添加 wp_head() 才能使其工作......那么我可
大家好,我在使用 Wordpress 网站时遇到了一些问题。 我正在改变脚本在网站上的加载方式(异步与同步)并清除无用的脚本(多个版本的 jquery 等)。其中一些在标题 (header.php)
遇到一个让我发疯的问题,原因是它应该是一个非常简单的修复,基本上在我的“footer.php”文件中我需要将一些 CSS 行添加到“wp_head” Hook 。我期望的工作是这样的: #foot
我想删除 wp_head 中的默认 css 样式标签,这样: 之前: ... ... ... 之后: 我怎样才能做到这一点? 最佳答案 搜索wp_enqueue_style 方法并
我正在使用@font-face 来更改默认字体。但导航菜单字体没有改变。它没有覆盖默认字体。如果我删除 wp-head() 它工作正常。但我需要 wp-head()。只有默认字体必须从 wp_head
我之前在Wordpress中使用了remove_action函数来删除wp_head注入(inject)的垃圾,但似乎在3.0版本中,一些标签没有被删除,如下所示: remove_action( 'w
我是一名优秀的程序员,十分优秀!