我在Wordpress网页上的Body
标记内有这个css代码:
<style type="text/css" id="et-builder-advanced-style">
//some css here
</style>
为了性能和搜索引擎优化,我需要将其放在Head
标记内。我搜索了它,并在includes\builder\functions.php
里面找到了这段代码:
function et_pb_maybe_add_advanced_styles() {
$styles['et-builder-advanced-style'] = ET_Builder_Element::get_style();
$styles['et-builder-page-custom-style'] = et_pb_get_page_custom_css();
foreach( $styles as $id => $style_data ) {
if ( ! $style_data ) {
continue;
}
printf(
'<style type="text/css" id="%2$s">
%1$s
</style>',
$style_data,
esc_attr( $id )
);
}
}
add_action( 'wp_footer', 'et_pb_maybe_add_advanced_styles', 1 );
所以我尝试更改最后一部分,使其看起来像add_action( 'wp_head', ...
但是无效。
正如我所说,出于性能目的我需要它,我希望页面在绘制整个页面之前加载所有这些css样式,因此用JS移动它不是另一种选择。
PD:抱歉我的英文不好
答案 0 :(得分:0)
wp_head()
函数适用于您,首先检查当前主题的文件(最有可能是header.php
),以确保调用wp_head()
函数。
您的代码必须在wp_head
挂钩触发之前运行,否则不会发生任何事情。
我猜你试图把这个功能挂得太晚了。可能来自get_header
函数之后的主题模板文件。您可以将该代码放在主题的functions.php
文件中,它应该可以正常工作。