我是WordPress的新手,我想删除一些不需要的js/css文件,这些文件加载在页面的html-head中。
在wp-content/themes/x/framework/views/header/base.php中,我找到了以下代码:
<head>
<?php wp_head(); ?>
</head>这显然对我一点帮助都没有。我不知道WordPress的"wp_head()"-function下一步要做什么。有没有一些简单的文件,我可以在某个地方为"head“编写/编辑简单的HTML?
发布于 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中,您可以将脚本和样式出列,这样它们就不会包含在您的页面中,如下所示:
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,所以这可能会比你不想要的脚本进入队列的时间晚一些。您不能将尚未入队的内容出队。)
https://stackoverflow.com/questions/46669800
复制相似问题