概述
標籤函數 body_class()
從本質上講,body_class()會生成基於內容的動態CSS class,以及在什麼情況下瀏覽。例如,如果你是註冊用戶,且已經登錄,body_class()會在body標籤生成一個登錄class。
<body <?php body_class();?>>
如果是首頁:
<body class="home blog">
如果該頁是single頁,對應HTML:
<body class="post-template-default single single-post postid-496 single-format-standard custom-background wp-custom-logo wb-hide-mobile-sidebar">
以下為可用的body class的完整列表:
rtl home blog archive date search paged attachment error404 single postid-(id) attachmentid-(id) attachment-(mime-type) author author-(user_nicename) category category-(slug) tag tag-(slug) page page-parent page-child parent-pageid-(id) page-template page-template-(template file name) search-results search-no-results logged-in paged-(page number) single-paged-(page number) page-paged-(page number) category-paged-(page number) tag-paged-(page number) date-paged-(page number) author-paged-(page number) search-paged-(page number) |
範例1:使用動態Body Class
我們主題左邊有一個,右邊有一個,他們都在一個960px寬里。content div為600px寬,sidebar div為360px寬。但是,當瀏覽單獨的帖子頁面,我讓我的主題不顯示sidebar。現在,我們只剩下一個content div。不幸的是,container div為960px寬,而我們的content div卻只有600px寬。
我們難道用一個大空白區填充我們的工具欄?該如何解決呢?使用body class這將很簡單。我們只需要針對在帖子頁的情況進行定義。在CSS里為:
.single #content{ width: 960px; }
範例2:新增body_class()的class
在某些情況下,你將要添加自己的Class到body_class()里。如果你發現自己處在這種情況下,這些有些方法可以做到這一點。
首先,最簡單的方法是通過自定義Class函數調用
<body <?php body_class('my-class'); ?>>
通過這樣做,在帖子頁面,content div為960px寬。我們正在增加一個簡單有選擇性的CSS系統。
範例3:利用Wordpress的過濾器,增加新的body clas
使用到的函數:get_body_class()
<?php
add_filter(』body_class』,'my_body_classes』);
function my_body_classes($classes) {
// add 'zdy_class' to the $classes array
$classes[] = 'zdy_class';
// return the $classes array
return $classes;
}
?>
參考閱讀:
在WordPress文章頁面body_class加上分類class:
https://wpmore.cn/add-category-name-body_class.html
WordPress的body_class()函數詳解: