使用Wordpress过滤器修改wp_head输出的值?

时间:2017-07-11 10:42:01

标签: wordpress

我刚开始使用Worpdress,看看在创建自定义主题时,页面顶部有一个令人讨厌的边距,这是由wp_head函数输出的内容引起的。由于我需要学习如何使用过滤器,我想我会使用过滤器从wp_head函数中删除html和body标签的css。

问题是,我该怎么做?在我用于过滤器的函数内部,我如何能够访问为wp_head函数中的html标记写出的css的值?搜索过没有找到任何好的解释。

1 个答案:

答案 0 :(得分:0)

只要主题使用<?php body_class(); ?>

,您就可以删除(并添加)<body>标记的类

body_class

上有一个end of get_body_class() in includes/post-template.php过滤器钩子

来自Codex

  

apply_filters( 'body_class', array $classes, array $class )   过滤当前帖子或页面的CSS正文类列表。

Remove a class from the body_class array

add_filter( 'body_class', function( $classes ) {
    if ( isset( $classes['class-to-remove'] ) ) {
        unset( $classes['class-to-remove'] );
    }
    return $classes;
} );

Add specific CSS class by filter:

add_filter( 'body_class', function( $classes ) {
    return array_merge( $classes, array( 'class-name' ) );
} );

Styesheets

要删除样式表,只要它们已正确注册,

function dequeue_some_css() {
  wp_dequeue_style('some-css');
  wp_deregister_style('some-css');
}
add_action('wp_enqueue_scripts','dequeue_some_css', 100);

查看wp_dequeue_stylewp_deregister_style

要添加自己的样式表,请参阅wp_enqueue_stylewp_register_style