日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

WordPress的body_class()函数详解

發布時間:2024/10/12 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 WordPress的body_class()函数详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

wordpress的body_class()函數,顧名思義,這個函數根據不同的頁面類型為body標簽生成class選擇器,從而讓設計人員可以各方便靈活的控制不同頁面中的各個元素。本文對這一函數進行了詳細的解析,包括該函數生成了些什么,所包含的屬性值有哪些,以及如何使用和如何新增class選擇器等等。

1、body_class()生成什么?

body_class()函數在Wordpress2.7幾乎和post_class()有同樣的運行方式,唯一不同的是class生成的名稱。 body_class()函數生成的class大多是根據你的訪問者在網站的位置。例如,如果訪問者在你的博客首頁,但你沒有設置一個靜態主頁,函數和類 可能會產生如下所示:

<body class="home blog">

  生成了兩個class類

如果你在某個帖子,body標簽看起來可能是這樣:

<body class="single postid-64">

  

如果你正在瀏覽一個頁面,body_class()會生成這樣:

<body class="page page-id-3 parent-page-id-0 page-template-default">

  

從本質上講,body_class()會生成基于內容的動態CSS class,以及在什么情況下瀏覽。例如,如果你是注冊用戶,且已經登錄,body_class()會在body標簽生成一個登錄class。

以下為可用的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)

  

2. 如何添加body_class()

假設你正在使用Wordpress2.8以上的版本,通常body_class()放到<body>標簽里。它通常在header.php文件里。

當你找到標簽的位置后,請把它更改為:

<body <?php body_class(); ?>>

  

3. 使用動態Body Class

現在我們有了body class,有什么大不了呢?我將會解釋:

除了html元素外,標簽包圍著其他所有的HTML代碼。因此,body class允許我們對網頁任何元素進行修改,具體到當前頁面。

也許通過實例更容易理解:

我們主題左邊有一個<div id=”content”>,右邊有一個<div id=”sidebar”>,他們都在一個960px寬<div id=”container”>里。content div為600px寬,sidebar div為360px寬。但是,當瀏覽單獨的帖子頁面,我讓我的主題不顯示sidebar。現在,我們只剩下一個content div。不幸的是,container div為960px寬,而我們的content div卻只有600px寬。

我們難道用一個大空白區填充我們的工具欄?該如何解決呢?使用body class這將很簡單。我們只需要針對<div id=”content”>在帖子頁的情況進行定義。在CSS里為:

.single #content{ width: 960px; }

通過這樣做,在帖子頁面,content div為960px寬。我們正在增加一個簡單有選擇性的CSS系統。

?

4. 新增body_class()的class

在某些情況下,你將要添加自己的Class到body_class()里。如果你發現自己處在這種情況下,這些有些方法可以做到這一點。

首先,最簡單的方法是通過自定義Class函數調用

body_class()

<body <?php body_class('my-class'); ?>>

  通過這樣做,我們現在告訴body_class()函數增加my-class的輸出。

第二,困難但更靈活的方式是,利用Wordpress的過濾器,增加新的body class。在這種情況下,我們將使用

get_body_class()

函數中的body_class過濾器。如果你不清楚過濾器如何運行,我將會在不久后寫一篇文章。在此之前,看看你是否能夠趕上來,非常容易。

這是增加使用過濾器增加class的例子:

<?phpadd_filter(’body_class’,'my_body_classes’);function my_body_classes($classes) {// add 'zdy_class' to the $classes array$classes[] = 'zdy_class';// return the $classes arrayreturn $classes;}?>

  則輸出結果在body_class()的基礎上新增zdy_class

轉載于:https://www.cnblogs.com/xcxc/p/3658903.html

總結

以上是生活随笔為你收集整理的WordPress的body_class()函数详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。