在本系列中,我們將介紹 WordPress 的基本功能之一:條件標簽。在第三部分中,我們將繼續(xù)介紹和回顧條件標簽。如果您還沒有看過前面的部分,請務(wù)必查看一下。
我們開始吧!
14。檢查我們是否在首頁:is_front_page()
在WordPress中,“首頁”可以設(shè)置為靜態(tài)WordPress頁面或最新博客文章列表(設(shè)置>閱讀)。無論哪種方式,當(dāng)顯示首頁時,條件標簽 is_front_page() 返回 TRUE。
接受的參數(shù)
此條件標記不接受任何參數(shù)。
15。檢查帖子是否有縮略圖:has_post_thumbnail()
“特色圖片”是新帖子/頁面屏幕的關(guān)鍵部分之一。條件標簽 has_post_thumbnail() 確定是否為給定帖子指定了特色圖像。
接受的參數(shù)
此條件標記只有一個參數(shù):
$post_id (整數(shù),可選):帖子 ID。 (默認:當(dāng)前帖子 ID)
has_post_thumbnail()的使用示例
假設(shè)您正在開發(fā)一個主題,其中每一篇博客文章都需要有一個“特色圖像”,因此如果沒有設(shè)置特色圖像,您希望顯示一個“默認圖像”。這是你要做的:
<?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。檢查主題是否使用“評論彈出窗口”:is_comments_popup()
你不應(yīng)該評判任何使用 10 年前主題或喜歡復(fù)古的人。如果您正在開發(fā)插件,則需要考慮所有因素,其中包括使用評論彈出窗口的主題。要確定這一點,您可以使用條件標簽 is_comments_popup()。
接受的參數(shù)
此條件標記不接受任何參數(shù)。
17。檢查頁面是否為404錯誤頁面:is_404()
“未找到”錯誤頁面通常是我們討厭在網(wǎng)站中看到的頁面,因此我們并不真正關(guān)心它們的外觀。但是,當(dāng)您正確使用這些錯誤頁面時,您可以將它們變成有用的頁面,通知用戶或幫助他們導(dǎo)航。條件標簽 is_404() 幫助我們確定是否向用戶顯示 404 錯誤。
接受的參數(shù)
此條件標記不接受任何參數(shù)。
is_404() 的使用示例
假設(shè)您正在開發(fā)一個記錄損壞的內(nèi)部鏈接的插件,并且您希望每次查看 404 錯誤頁面時運行您的函數(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。檢查給定的分類是否存在:taxonomy_exists()
如果您需要檢查自定義分類是否已注冊,您可以使用 taxonomy_exists() 條件標記讓您的代碼確定它。
接受的參數(shù)
此條件標記只有一個參數(shù):
$taxonomy (字符串,必需):分類法的名稱。 (默認:無)
19。檢查頁面是否為“搜索結(jié)果”頁面:is_search()
雖然有點被低估,但“搜索結(jié)果”頁面是 WordPress 網(wǎng)站的重要組成部分。如果您正在開發(fā)插件或主題,則可以借助 is_search() 條件標記來檢測這些頁面。
接受的參數(shù)
此條件標記不接受任何參數(shù)。
is_search() 的使用示例
假設(shè)您想要包含一個具有相同字詞的 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。檢查頁面是否為“標簽檔案”頁面:is_tag()
想要以不同的方式對待標簽檔案嗎?條件標簽 is_tag() 可以幫助您。想要以不同的方式對待特定標簽嗎?只需傳遞標簽名稱、slug 或 ID(或它們的數(shù)組)作為參數(shù)即可!
接受的參數(shù)
此條件標記只有一個參數(shù):
$tag (數(shù)組/字符串,可選):標簽的 ID、名稱、slug 或這些的數(shù)組。 (默認:無)
21。檢查帖子是否有自定義摘錄:has_excerpt()
WordPress 帖子中有兩種“摘錄”:如果您想自己編寫,則稱為“自定義摘錄”,如果您不想,則會生成“自動摘錄”(默認情況下,它是帖子的前 55 個字)。 has_excerpt() 條件標簽檢查用戶是否為給定帖子設(shè)置了自定義摘錄。
接受的參數(shù)
此條件標記只有一個參數(shù):
$post_id (整數(shù),可選):帖子 ID。 (默認:當(dāng)前帖子 ID)
has_excerpt() 的使用示例
假設(shè)您正在制作一個主題,并且希望在主頁中顯示自定義摘錄,但您不想顯示自動摘錄。這是你要做的:
<?php
if ( has_excerpt() ) {
the_excerpt();
}
?>
登錄后復(fù)制
22。檢查是否是主查詢:is_main_query()
WordPress 使用 WP_Query 類來列出帖子 – 無論是帖子標題列表還是存檔頁面中完整帖子的索引。許多函數(shù)使用 WP_Query 類,is_main_query() 就是其中之一。此條件標記檢測查詢是否不是“輔助查詢”,而是“主查詢”。
接受的參數(shù)
此條件標記不接受任何參數(shù)。
23。檢查帖子是否具有給定標簽:has_tag()
有時,您可能需要檢查帖子是否具有某些標簽,以使該帖子(或多個帖子)的行為與其他帖子不同。為此,您可以使用 has_tag() 來檢查帖子是否帶有您指定的標簽。 (注意:它允許您指定多個要查找的標簽。)
接受的參數(shù)
此條件標記有兩個參數(shù):
$tag (數(shù)組/字符串,可選):標簽的名稱、ID、slug 或這些的數(shù)組。 (默認:無)
$post (對象,可選):發(fā)布以進行檢查。 (默認:當(dāng)前帖子)
has_tag()的使用示例
假設(shè)您的博客文章有“徽章”(例如“新”、“精選”和“過時”),這些“徽章”將通過使用相應(yīng)的標簽來激活,并且您想要回顯帖子內(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,此特定條件標記將返回 TRUE。我添加此條件標簽僅供參考,因為從技術(shù)上講,它對于插件或主題開發(fā)人員來說沒有用處,也許可以在某些外部 WordPress 工具中使用。
接受的參數(shù)
此條件標記不接受任何參數(shù)。
25。檢查用戶是否為“超級管理員”:is_super_admin()
在多站點網(wǎng)絡(luò)中,有一個“超級管理員”可以管理所有站點。要檢測用戶是否是“超級管理員”(或常規(guī) WordPress 安裝中的常規(guī)管理員),您可以使用 is_super_admin() 條件標簽。
接受的參數(shù)
此條件標記只有一個參數(shù):
$user_id(整數(shù),可選):用戶 ID。 (默認:當(dāng)前用戶)
is_super_admin()的使用示例
假設(shè)您不喜歡“Howdy”問候語并且想要更改它,但您的用戶喜歡它并希望保留它。在這種情況下,您需要一個僅適用于您的解決方案。這是你要做的:
<?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。檢查頁面是否為“Page”頁面:is_page()
在 WordPress 中,“頁面”是五種內(nèi)置帖子類型之一,其他類型還有帖子、修訂、附件和導(dǎo)航菜單。如果您想檢測某個頁面(或一般情況下的任何頁面),您可以使用條件標簽 is_page()。
接受的參數(shù)
此條件標記只有一個參數(shù):
$page (數(shù)組/字符串,可選):頁面 ID、標題、slug 或其中的數(shù)組。 (默認:無)
結(jié)論
在這一部分中,我們回顧了 WordPress 中另一批記錄的 65 個條件標簽。在接下來的部分中,我們將討論剩下的 39 篇文章。如果您有任何問題或意見,請在下面提出 – 如果您喜歡這篇文章,請不要忘記分享!
下一部分見!
以上就是探索 WordPress 中的條件標簽:從 14 到 26 – 綜合指南的詳細內(nèi)容,更多請關(guān)注www.92cms.cn其它相關(guān)文章!






