我是WordPress的新手, 并且想要删除一些不需要的js / css文件, 这些文件已加载到页面的html-head中。
在wp-content / themes / x / framework / views / header / base.php中, 我找到了以下代码:
<head>
<?php wp_head(); ?>
</head>
这显然对我没有任何帮助。我不知道接下来WordPress的” wp_head()”功能会做什么。是否有一些简单的文件可以在其中为”头部”编写/编辑简单的HTML?
#1
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, 因此大概以后会触发而不是将不需要的脚本排入队列。你无法将尚未排入队列的内容排入队列。)
评论前必须登录!
注册