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