在本系列中,我們將介紹 WordPress 的基本功能之一:條件標(biāo)簽。在第三部分中,我們將繼續(xù)介紹和回顧條件標(biāo)簽。如果您還沒(méi)有看過(guò)前面的部分,請(qǐng)務(wù)必查看一下。
我們開(kāi)始吧!
14。檢查我們是否在首頁(yè):is_front_page()
在WordPress中,“首頁(yè)”可以設(shè)置為靜態(tài)WordPress頁(yè)面或最新博客文章列表(設(shè)置>閱讀)。無(wú)論哪種方式,當(dāng)顯示首頁(yè)時(shí),條件標(biāo)簽 is_front_page()
返回 TRUE
。
接受的參數(shù)
此條件標(biāo)記不接受任何參數(shù)。
15。檢查帖子是否有縮略圖:has_post_thumbnail()
“特色圖片”是新帖子/頁(yè)面屏幕的關(guān)鍵部分之一。條件標(biāo)簽 has_post_thumbnail()
確定是否為給定帖子指定了特色圖像。
接受的參數(shù)
此條件標(biāo)記只有一個(gè)參數(shù):
$post_id
(整數(shù),可選):帖子 ID。 (默認(rèn):當(dāng)前帖子 ID)
has_post_thumbnail()的使用示例
假設(shè)您正在開(kāi)發(fā)一個(gè)主題,其中每一篇博客文章都需要有一個(gè)“特色圖像”,因此如果沒(méi)有設(shè)置特色圖像,您希望顯示一個(gè)“默認(rèn)圖像”。這是你要做的:
<?php function mytheme_featured_image( $class = '' ) { global $post; $post_title = get_the_title(); if ( has_post_thumbnail( $post->ID ) ) { $featured_image = get_the_post_thumbnail( $post->ID, 'thumbnail', array( 'alt' => esc_attr( $post_title ), 'class' => $class ) ); } else { $featured_image = '<img src="' . get_stylesheet_directory_uri() . '/assets/default-thumb.jpg" alt="' . esc_attr( $post_title ) . '" class="default-thumb ' . $class . '" />'; } return $featured_image; } /* * Usage (inside the Loop): * echo mytheme_featured_image( 'my-custom-class' ); */ ?>
登錄后復(fù)制
16。檢查主題是否使用“評(píng)論彈出窗口”:is_comments_popup()
你不應(yīng)該評(píng)判任何使用 10 年前主題或喜歡復(fù)古的人。如果您正在開(kāi)發(fā)插件,則需要考慮所有因素,其中包括使用評(píng)論彈出窗口的主題。要確定這一點(diǎn),您可以使用條件標(biāo)簽 is_comments_popup()
。
接受的參數(shù)
此條件標(biāo)記不接受任何參數(shù)。
17。檢查頁(yè)面是否為404錯(cuò)誤頁(yè)面:is_404()
“未找到”錯(cuò)誤頁(yè)面通常是我們討厭在網(wǎng)站中看到的頁(yè)面,因此我們并不真正關(guān)心它們的外觀。但是,當(dāng)您正確使用這些錯(cuò)誤頁(yè)面時(shí),您可以將它們變成有用的頁(yè)面,通知用戶(hù)或幫助他們導(dǎo)航。條件標(biāo)簽 is_404()
幫助我們確定是否向用戶(hù)顯示 404 錯(cuò)誤。
接受的參數(shù)
此條件標(biāo)記不接受任何參數(shù)。
is_404()
的使用示例
假設(shè)您正在開(kāi)發(fā)一個(gè)記錄損壞的內(nèi)部鏈接的插件,并且您希望每次查看 404 錯(cuò)誤頁(yè)面時(shí)運(yùn)行您的函數(shù)。這是你要做的:
<?php add_filter( 'template_redirect', 'my_plugin_check_404_pages' ); function my_plugin_check_404_pages() { if ( is_404() ) { my_plugin_404_logger_function(); } } ?>
登錄后復(fù)制
18。檢查給定的分類(lèi)是否存在:taxonomy_exists()
如果您需要檢查自定義分類(lèi)是否已注冊(cè),您可以使用 taxonomy_exists()
條件標(biāo)記讓您的代碼確定它。
接受的參數(shù)
此條件標(biāo)記只有一個(gè)參數(shù):
$taxonomy
(字符串,必需):分類(lèi)法的名稱(chēng)。 (默認(rèn):無(wú))
19。檢查頁(yè)面是否為“搜索結(jié)果”頁(yè)面:is_search()
雖然有點(diǎn)被低估,但“搜索結(jié)果”頁(yè)面是 WordPress 網(wǎng)站的重要組成部分。如果您正在開(kāi)發(fā)插件或主題,則可以借助 is_search()
條件標(biāo)記來(lái)檢測(cè)這些頁(yè)面。
接受的參數(shù)
此條件標(biāo)記不接受任何參數(shù)。
is_search()
的使用示例
假設(shè)您想要包含一個(gè)具有相同字詞的 Google 搜索鏈接。這是你要做的:
<?php if ( is_search() ) { $search_query = get_search_query(); echo '<div class="google-search"><a . $search_query . '">' . __( 'Search with Google', 'translation-domain' ) . '</a>'; } ?>
登錄后復(fù)制
20。檢查頁(yè)面是否為“標(biāo)簽檔案”頁(yè)面:is_tag()
想要以不同的方式對(duì)待標(biāo)簽檔案嗎?條件標(biāo)簽 is_tag()
可以幫助您。想要以不同的方式對(duì)待特定標(biāo)簽嗎?只需傳遞標(biāo)簽名稱(chēng)、slug 或 ID(或它們的數(shù)組)作為參數(shù)即可!
接受的參數(shù)
此條件標(biāo)記只有一個(gè)參數(shù):
$tag
(數(shù)組/字符串,可選):標(biāo)簽的 ID、名稱(chēng)、slug 或這些的數(shù)組。 (默認(rèn):無(wú))
21。檢查帖子是否有自定義摘錄:has_excerpt()
WordPress 帖子中有兩種“摘錄”:如果您想自己編寫(xiě),則稱(chēng)為“自定義摘錄”,如果您不想,則會(huì)生成“自動(dòng)摘錄”(默認(rèn)情況下,它是帖子的前 55 個(gè)字)。 has_excerpt()
條件標(biāo)簽檢查用戶(hù)是否為給定帖子設(shè)置了自定義摘錄。
接受的參數(shù)
此條件標(biāo)記只有一個(gè)參數(shù):
$post_id
(整數(shù),可選):帖子 ID。 (默認(rèn):當(dāng)前帖子 ID)
has_excerpt()
的使用示例
假設(shè)您正在制作一個(gè)主題,并且希望在主頁(yè)中顯示自定義摘錄,但您不想顯示自動(dòng)摘錄。這是你要做的:
<?php if ( has_excerpt() ) { the_excerpt(); } ?>
登錄后復(fù)制
22。檢查是否是主查詢(xún):is_main_query()
WordPress 使用 WP_Query
類(lèi)來(lái)列出帖子 – 無(wú)論是帖子標(biāo)題列表還是存檔頁(yè)面中完整帖子的索引。許多函數(shù)使用 WP_Query
類(lèi),is_main_query()
就是其中之一。此條件標(biāo)記檢測(cè)查詢(xún)是否不是“輔助查詢(xún)”,而是“主查詢(xún)”。
接受的參數(shù)
此條件標(biāo)記不接受任何參數(shù)。
23。檢查帖子是否具有給定標(biāo)簽:has_tag()
有時(shí),您可能需要檢查帖子是否具有某些標(biāo)簽,以使該帖子(或多個(gè)帖子)的行為與其他帖子不同。為此,您可以使用 has_tag()
來(lái)檢查帖子是否帶有您指定的標(biāo)簽。 (注意:它允許您指定多個(gè)要查找的標(biāo)簽。)
接受的參數(shù)
此條件標(biāo)記有兩個(gè)參數(shù):
$tag
(數(shù)組/字符串,可選):標(biāo)簽的名稱(chēng)、ID、slug 或這些的數(shù)組。 (默認(rèn):無(wú))
$post
(對(duì)象,可選):發(fā)布以進(jìn)行檢查。 (默認(rèn):當(dāng)前帖子)
has_tag()的使用示例
假設(shè)您的博客文章有“徽章”(例如“新”、“精選”和“過(guò)時(shí)”),這些“徽章”將通過(guò)使用相應(yīng)的標(biāo)簽來(lái)激活,并且您想要回顯帖子內(nèi)的圖像。這是你要做的:
<?php if ( has_tag( 'badge-new' ) ) { echo '<div class="post-content badge-new">'; } else if ( has_tag( 'badge-featured' ) ) { echo '<div class="post-content badge-featured">'; } else if ( has_tag( 'badge-obsolete' ) ) { echo '<div class="post-content badge-obsolete">'; } else { echo '<div class="post-content">'; } // Post content. echo '</div>'; ?>
登錄后復(fù)制
24。檢查博客是否安裝(?):is_blog_installed()
如果安裝了 WordPress,此特定條件標(biāo)記將返回 TRUE
。我添加此條件標(biāo)簽僅供參考,因?yàn)閺募夹g(shù)上講,它對(duì)于插件或主題開(kāi)發(fā)人員來(lái)說(shuō)沒(méi)有用處,也許可以在某些外部 WordPress 工具中使用。
接受的參數(shù)
此條件標(biāo)記不接受任何參數(shù)。
25。檢查用戶(hù)是否為“超級(jí)管理員”:is_super_admin()
在多站點(diǎn)網(wǎng)絡(luò)中,有一個(gè)“超級(jí)管理員”可以管理所有站點(diǎn)。要檢測(cè)用戶(hù)是否是“超級(jí)管理員”(或常規(guī) WordPress 安裝中的常規(guī)管理員),您可以使用 is_super_admin()
條件標(biāo)簽。
接受的參數(shù)
此條件標(biāo)記只有一個(gè)參數(shù):
$user_id
(整數(shù),可選):用戶(hù) ID。 (默認(rèn):當(dāng)前用戶(hù))
is_super_admin()的使用示例
假設(shè)您不喜歡“Howdy”問(wèn)候語(yǔ)并且想要更改它,但您的用戶(hù)喜歡它并希望保留它。在這種情況下,您需要一個(gè)僅適用于您的解決方案。這是你要做的:
<?php // Source: http://www.paulund.co.uk/change-the-wordpress-howdy-text add_filter( 'admin_bar_menu', 'replace_howdy' ); function replace_howdy( $wp_admin_bar ) { $my_account = $wp_admin_bar->get_node( 'my-account' ); $newtitle = __( 'Hi boss!', 'translation-domain' ); $wp_admin_bar->add_node( array( 'id' => 'my-account', 'title' => $newtitle ) ); return $wp_admin_bar; } ?>
登錄后復(fù)制
26。檢查頁(yè)面是否為“Page”頁(yè)面:is_page()
在 WordPress 中,“頁(yè)面”是五種內(nèi)置帖子類(lèi)型之一,其他類(lèi)型還有帖子、修訂、附件和導(dǎo)航菜單。如果您想檢測(cè)某個(gè)頁(yè)面(或一般情況下的任何頁(yè)面),您可以使用條件標(biāo)簽 is_page()
。
接受的參數(shù)
此條件標(biāo)記只有一個(gè)參數(shù):
$page
(數(shù)組/字符串,可選):頁(yè)面 ID、標(biāo)題、slug 或其中的數(shù)組。 (默認(rèn):無(wú))
結(jié)論
在這一部分中,我們回顧了 WordPress 中另一批記錄的 65 個(gè)條件標(biāo)簽。在接下來(lái)的部分中,我們將討論剩下的 39 篇文章。如果您有任何問(wèn)題或意見(jiàn),請(qǐng)?jiān)谙旅嫣岢?– 如果您喜歡這篇文章,請(qǐng)不要忘記分享!
下一部分見(jiàn)!
以上就是探索 WordPress 中的條件標(biāo)簽:從 14 到 26 – 綜合指南的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注www.92cms.cn其它相關(guān)文章!