WP使用wp_head函数移动样式css

时间:2016-06-23 10:36:19

标签: css wordpress performance seo styles

我在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:抱歉我的英文不好

1 个答案:

答案 0 :(得分:0)

wp_head()函数适用于您,首先检查当前主题的文件(最有可能是header.php),以确保调用wp_head()函数。

您的代码必须在wp_head挂钩触发之前运行,否则不会发生任何事情。

我猜你试图把这个功能挂得太晚了。可能来自get_header函数之后的主题模板文件。您可以将该代码放在主题的functions.php文件中,它应该可以正常工作。