首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WordPress模板"X":更改<head>内部的html

WordPress模板"X":更改<head>内部的html
EN

Stack Overflow用户
提问于 2017-10-10 22:52:34
回答 1查看 260关注 0票数 1

我是WordPress的新手,我想删除一些不需要的js/css文件,这些文件加载在页面的html-head中。

在wp-content/themes/x/framework/views/header/base.php中,我找到了以下代码:

代码语言:javascript
复制
<head>
  <?php wp_head(); ?>
</head>

这显然对我一点帮助都没有。我不知道WordPress的"wp_head()"-function下一步要做什么。有没有一些简单的文件,我可以在某个地方为"head“编写/编辑简单的HTML?

EN

回答 1

Stack Overflow用户

发布于 2017-10-10 23:21:49

wp_head()是一个触发wp_head操作钩子的函数。Wordpress建立在动作钩子和过滤器之上,这意味着插件和主题不仅可以通过这些钩子向您的设置中添加内容,而且您还可以删除这些内容。大部分工作都是以编程方式(用PHP)完成的,而不仅仅是一个html模板,尽管情况并不总是如此……但你的情况就是这样。

脚本和样式在很大程度上是通过wp_enqueue_scripts操作挂钩排入队列的。您将希望在此处执行脚本删除。

问题是,在删除脚本之前,您必须知道该脚本的注册名称。例如,jQuery注册为'jquery'。很简单,对吧?然而,并不是所有的脚本都那么简单,您必须浏览代码来查找这些脚本的注册句柄(名称)。样式稍微简单一些,因为当您在浏览器中检查页面时,样式的id属性将设置为'example-style-css'。Wordpress将'-css‘附加到已注册和入队的样式后,因此您的样式的名称实际上是'example- style’。

在主题的functions.php中,您可以将脚本和样式出列,这样它们就不会包含在您的页面中,如下所示:

代码语言:javascript
复制
function stack_46669800_dequeue(){
    wp_dequeue_script('the-script-you-want-to-remove');
    wp_dequeue_style('the-style-you-want-to-remove');
}
add_action('wp_enqueue_scripts','stack_46669800_dequeue',100);

(注意这里的add_action函数中的100 ...这是“优先级”,也就是触发所有已添加操作的顺序。大多数都是10,所以我把这里的优先级改成了100,所以这可能会比你不想要的脚本进入队列的时间晚一些。您不能将尚未入队的内容出队。)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46669800

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档