溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

WordPress中的post_class與get_post_class函數(shù)的區(qū)別是什么

發(fā)布時(shí)間:2021-01-14 15:06:17 來源:億速云 閱讀:171 作者:Leah 欄目:開發(fā)技術(shù)

本篇文章為大家展示了WordPress中的post_class與get_post_class函數(shù)的區(qū)別是什么,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

post_class()
post_class 是 WordPress 內(nèi)置的一個(gè)用于顯示文章 class 名稱的函數(shù),該函數(shù)通常會(huì)為每一篇文章生成獨(dú)一無二的 clss 值,如果你需要制作你自己的主題,而且還需要一點(diǎn)個(gè)性的話,那你最好駐足一下,使用該函數(shù)并配合靈活的 css 代碼,我們可以制作出個(gè)性化十足的 WordPress 博客。

post_class 函數(shù)描述
該函數(shù)通常會(huì)為每一篇文章生成獨(dú)一無二的 clss 值,可以很方便使用于文章所在的節(jié)點(diǎn)中。

函數(shù)使用
向其他的諸如 header_image、wp_title這樣的 WordPress 標(biāo)簽函數(shù)一樣,不帶 get 的函數(shù)通常是會(huì)直接顯示出來而不返回任何值。

<post id="post-<?php the_ID(); ?>" <?php post_class(); ?> > <?php the_content ;?> </post>

是的,也許你已經(jīng)注意到了,使用 post_class 函數(shù)時(shí)我們甚至不需要這樣去寫 clss=“post_class()”;。

實(shí)例結(jié)果
不賣關(guān)子,結(jié)果如下

<post id="post-888" class="post-888 post type-post status-publish format-standard hentry category-2 tag-wordpress" > 文章內(nèi)容 </post>

以使用為主的函數(shù)講完了,
下面照舊給出函數(shù)源代碼:
想要了解更多關(guān)于該函數(shù),以及get_post_class函數(shù)請(qǐng)關(guān)注后期文章。

/**
 * Display the classes for the post div.
 *
 * @since 2.7.0
 *
 * @param string|array $class One or more classes to add to the class list.
 * @param int $post_id An optional post ID.
 */
function post_class( $class = '', $post_id = null ) {
 // Separates classes with a single space, collates classes for post DIV
 echo 'class="' . join( ' ', get_post_class( $class, $post_id ) ) . '"';
}

get_post_class 詳解
get_post_class 是 post_class 函數(shù)的基本實(shí)現(xiàn),在 WordPress 中其他一些帶 get 的函數(shù)一樣,該函數(shù)將會(huì)有一個(gè)返回值,而該返回值將是一個(gè)包含當(dāng)前文章基本信息的數(shù)組,get_post_class 函數(shù)主要用來給每篇文章生成獨(dú)一無為的 class 值而被封裝出來的。

如果你是一個(gè)要求不高的人的話,那么 post_class 這個(gè)函數(shù)其實(shí)已經(jīng)足夠你折騰了。如果你是一個(gè)有著精神潔癖的人,不想自己的 WordPress 網(wǎng)站有太多無用代碼的話,那你可以繼續(xù)往下看。

get_post_class函數(shù)詳解
該函數(shù)主要用來生成一個(gè)當(dāng)前文章相關(guān)信息的數(shù)組,該數(shù)組所含信息我們往往用來作為文章層中的 class 值。
就像我上面提到的 post_class 函數(shù),就是利用了本函數(shù)生成的 class 值。
并且該函數(shù)支持插入你自己的 class 值,一合并到返回?cái)?shù)組中。
以上是我本人的理解,當(dāng)然你也可以看一下官方的手冊(cè)。

比較費(fèi)解的手冊(cè)內(nèi)容如下:
WordPress Themes have a template tag for the post HMTL tag which will help theme authors to style more effectively with CSS. The Template Tag is called get_post_class. This function returns different post container classes which can be added, typically, in the index.php, single.php, and other template files featuring post content, typically in the HTML

tag.
函數(shù)用法

<?php get_post_class($class, $post_id); ?>

如果在循環(huán)中,并且不需要插入自定義class值的話,該函數(shù)可不接受任何參數(shù)。

函數(shù)參數(shù)
$class:自定義 class 值,可以使字符串也可以死數(shù)組。

$post_id:文章ID

使用實(shí)例

$MyClass = get_post_class(); 
 var_dump($MyClass);

輸出結(jié)果:

array(9) {
 [0]=>
 string(8) "post-249"
 [1]=>
 string(4) "post"
 [2]=>
 string(9) "type-post"
 [3]=>
 string(14) "status-publish"
 [4]=>
 string(15) "format-standard"
 [5]=>
 string(6) "hentry"
 [6]=>
 string(18) "category-catcatcat"
 [7]=>
 string(8) "tag-tag1"
 [8]=>
 string(8) "tag-tag2"
}

進(jìn)階實(shí)例

$MyClass = get_post_class('index-post',249);
//或 
$MyClass = get_post_class(array( 'index-post'),249);
 var_dump($MyClass);

輸出結(jié)果:

array(10) {
 [0]=>
 string(8) "post-249"
 [1]=>
 string(4) "post"
 [2]=>
 string(9) "type-post"
 [3]=>
 string(14) "status-publish"
 [4]=>
 string(15) "format-standard"
 [5]=>
 string(6) "hentry"
 [6]=>
 string(18) "category-catcatcat"
 [7]=>
 string(8) "tag-tag1"
 [8]=>
 string(8) "tag-tag2"
 [9]=>
 string(10) "index-post"
}

上述內(nèi)容就是WordPress中的post_class與get_post_class函數(shù)的區(qū)別是什么,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI