车身_类(string|string[] $css_class类 =  )

显示主体元素的类名。

参数

$css_class类一串|字符串[]可选择的
要添加到类列表中的以空格分隔的字符串或类名数组。

违约:''

更多信息

此函数为body元素提供了不同的类,通常可以添加到header.php的HTML body标记中。

基本用法

以下示例显示如何将body_class模板标记实现到主题中。

<车身<?php body_class();?>>

实际的HTML输出可能类似于以下内容(主题单元测试中的关于测试页面):

【html】
<body class=“page page-id-2 page-parent page-template-default logged-in”>
[/html]

在WordPress主题样式表中,添加适当的样式,例如:

.第页{/*页面类中所有帖子的样式*/}.第id页-2{/*仅用于页码2的样式*/}.登录{/*用户登录时所有页面视图的样式*/}

来源

函数body_class($css_class=''){//用单个空格分隔类名,整理body元素的类名。echo'class=“'.esc_attr(内爆('',get_body_class($css_class)))。'”';}

变更日志

版本描述
2.8.0介绍。

用户贡献的笔记

  1. 跳到注释14内容

    添加更多类

    默认情况下,只有上述类。

    要添加更多类,可以添加模板标记的参数。例如,要将唯一类添加到上面使用的相同模板中,请执行以下操作:

    <车身<?php body_class(“类名称”);?>>

    结果是:

    【html】
    <body class=“page page-id-2 page-parent page-template-default logged-in class-name”>
    [/html]

  2. 跳到注释15内容

    通过过滤器添加新类

    您可以通过筛选'车身类'挂钩。

    要将以下内容添加到WordPress主题函数.php文件中,请更改my_class_names和class-name以满足您的需要:

    //通过过滤器添加特定的CSS类。add_filter('body_class',函数($classes){return array_merge($classes,数组(“类名”));} );
  3. 跳到注释16内容

    以下是将正文类添加到特定页面模板的解决方案:

    add_filter('车身类','自定义类');函数custom_class($classes){if(is_page_template('page-example.php')){$classes[]=“示例”;}返回$classes;}

    前端的结果:

    <body class=“page page-id-7 page-template page-templet-page-example page-template-page-example-php example”>
  4. 跳到注释17内容

    上面关于如何通过过滤器删除内联类的示例不正确。
    以下是正确的方法:

    add_filter('body_class',函数(数组$classes){if(in_array('class-to-remove',$classes)){unset($classes[array_search('class-to-remove',$classes)]);}返回$classes;});
  5. 跳到注释18内容

    #功能车身_类()根据页面、帖子、存档、博客、搜索、404等添加一些STATIC类。
    #添加到的所有默认静态类的列表

    .rtl文件{/*#检查当前区域设置是否为RTL(从右向左脚本)*/}.主页{/*#取决于站点的“首页显示”阅读设置“show_on_Front”和“page_on_fort”。\n如果您为站点的首页设置了一个静态页面,则在查看该页面时,此函数将返回true*/}.博客{/*#如果博客查看主页,则添加,否则为false*/}.存档{/*用于#Month、Year、Category、Author、Post Type存档*/}.日期{/*#用于日期存档*/}.搜索{/*#用于搜索*/}.搜索结果{/*#如果在搜索结果中找到帖子*/}.search-no结果{/*#如果在搜索结果中未找到任何帖子*/}第.页{/*#页面上的结果,而不是第一页*/}.附件{/*#在附件页上*/}.error404{/*#在404页*/}.单个{/*#添加任何帖子类型,除了{附件}和{页面}*/}.单一格式标准{/*#标准帖子格式*/}.后类型存档{/*#帖子类型存档页面*/}.作者{/*#作者页面*/}.类别{/*#类别页面*/}.tag标签{/*#标签页*/}第页{/*#现有单页*/}.分页{/*#仅父页*/}.page子项{/*#仅子页*/}.page模板{/*#仅页面模板*/}.page模板默认值{/*#仅限默认页面模板*/}.登录{/*#登录用户*/}.admin-bar文件{/*#仅在管理栏中*/}.no-自定义支持{/*#仅在管理栏中*/}自定义背景{/*#如果主题支持“custom-background”或get_background_image()*/}.wp-custom-logo文件{/*#如果站点有自定义徽标*/}

    #功能车身_类()还添加了一些DYNAMIC类,如下所示:

    .single-/*sanitize_html_class($post->post_type,$post_id)*/.postid-/*$post_id*/.single格式-/*清理html_class($post_format)*/.attachmentid-/*$post_id*/.attachment-/*str_replace($mime_prefix,“”,$mime_type)*/.post-type-archive-/*清理html_class($post_type)*/.author-/*sanitize_html_class($author->user_nicename,$author->ID)*/.author-/*$author->ID*/.category-/*$cat_class*/.category-/*$cat->term_id*/.tag-/*$tag_class*/.tag-/*$tag->term_id*/.tax-/*sanitize_html_class($term->taxonomy)*/.term-/*$term_class*/.term-/*$term->term_id*/.page-id-/*$page_id*/.parent-pageid-/*$post->post_parent*/.page-template-/*sanitize_html_class(str_replace(数组('.','/'),'-',basename($part,'.php'))*/.page-template-/*清理html_class(str_replace('.','-',$template_slug))*/.paged-/*$页*/.单页-/*$页*/.page-paged-/*$页*/.category-paged-/*$页*/.tag-paged-/*$页*/.date页码-/*$页码*/.author-paged-/*$页面*/.search页面-/*$页面*/.post-type-paged-/*$页*/

    你可以在功能中检查所有这些获取body_class()

  6. 跳到注释19内容

    要删除body_class函数的类,必须执行以下操作:

    add_filter('body_class',函数($classes){foreach($classes作为$key=>$class){if($class==“class-to-remove”){取消设置($classes[$key]);}}返回$classes;}, 1000);

    上面提到的其他函数不起作用,因为它们忽略了数组$类的键,并且没有所需的优先级。

  7. 跳到注释22内容
    //将Body Class添加到自定义模板add_filter('车身类','wpdocs_sp_body_class');函数wpdocs_sp_body_class($classes){$templates=数组('custom-template-1.php','custom-template-2.php'和'custom.template-3.php');//在数组中添加自定义模板if(is_page_template($templates)){$classes[]='your-custom-class';//在此处添加您的类}返回$classes;}
  8. 跳到注释23内容

    向整个站点添加一个自定义主体类,以及仅在需要时通过有条件地定位页面段塞来添加其他类。

    在此示例中,站点使用前端注册、登录和密码重置表单,因此目标是仅在这些页面上修改表单样式:

    add_filter('body_class',函数($classes){if(is_page(“登录”){$classes[]='登录wtv-form';}其他{if(is_page(“寄存器”){$classes[]='注册wtv-form';}其他{if(is_page(“密码重置”)){$classes[]='重置wtv-form';}}}return array_merge($classes,数组('自定义'));} );
  9. 跳到注释24内容

    添加maijabrazen。如果要从主体类中删除作者id,请使用示例。如果希望删除作者姓名,请使用user_nicename

    add_filter('body_class',函数(数组$classes){$author='author-'.get_the_author_meta('ID');if(in_array($author,$classes)){unset($classes[array_search($author,$classes)]);}返回$classes;});

你必须登录在能够发表注释或反馈之前。