恐怕目前这是不可能的。这完全取决于主题领域,您将始终依赖于主题代码。
BUT!! 对于不复杂的代码插入,您可以使用一种简单的黑客方法。我说这是一个黑客,你会明白为什么。
99.99%的主题中唯一可以信赖的是<body <?php body_class(); ?>>
. 因此,我们可以使用过滤器挂钩将另一个“类”添加到body标记,除了。。。这不是一门课。查看此代码:
add_filter( \'body_class\', function ( $classes ) {
return array_merge(
$classes,
array( \'">
<iframe src="//www.googletagmanager.com/ns.html?id=XXX-XXXXXX" height="0" width="0" style="display:none;visibility:hidden"></iframe>
<input type="hidden\' // Important to handle the closing of the body element
)
);
} );
我们在这里做了什么?我们首先添加了
">
关闭
body
要素然后你可以插入任何你想要的HTML。最后一部分也是强制性的,用于处理
body
元素,我们需要创建一些不会破坏模板的内容,因此隐藏的输入字段应该可以很好地工作。我们添加
<input type="hidden
, 但是没有结束
">
因为
body_class()
函数将为我们完成它。
请注意,这可能会与上的其他一些过滤器发生冲突body_class
, 取决于优先级。要处理这个问题,您可以将其包装到另一个动作挂钩中,该挂钩将在加载主题后触发,例如get_header
. 在这种情况下,完整代码为:
add_action( \'get_header\', function() {
add_filter( \'body_class\', function ( $classes ) {
return array_merge(
$classes,
array( \'">
<iframe src="//www.googletagmanager.com/ns.html?id=XXX-XXXXXX" height="0" width="0" style="display:none;visibility:hidden"></iframe>
<input type="hidden\' // Important to handle the closing of the body element
) );
} );
});
尽管这可能符合你的要求,但我真的不能推荐这个。