在本系列的第一部分中,我們了解了條件標簽的基礎知識 – 它們是什么、如何使用它們以及條件標簽派上用場的一些場景。
在第二部分中,我們將開始審查 13 個條件標簽,并在五篇文章(包括這篇文章)中,我們將完成 Codex 中記錄的所有 65 個條件標簽。如果您還沒有看過第一部分,請務必查看。
我們開始吧!
1。檢查我們是否在“博客文章索引頁”: is_home()
這個命名不佳條件標記檢查博客文章索引頁面是否正在顯示。在過去,當 WordPress 只是一個“博客平臺”時,“主頁”意味著您最新博客文章的列表。但在 WordPress 發展成為一個內容管理系統之后,is_home()
這個名字就有點過時了。
接受的參數
此條件標記不接受任何參數。
is_home()的使用示例
假設您想在主頁上向訪問者致意。這是你要做的:
<?php if ( is_home() ) { _e( 'Welcome to my great blog!', 'translation-domain' ); } ?>
登錄后復制
2。檢查當前主題是否為子主題:is_child_theme()
使用 WordPress 進行開發時,您可能需要檢查是否正在使用子主題。如果是這種情況,條件標簽 is_child_theme()
將在是否使用子主題時返回 TRUE
或 FALSE
來幫助您。
接受的參數
此條件標記不接受任何參數。
3。檢查帖子是否屬于給定類別:in_category()
在 WordPress 項目中,您可能希望不同類別的帖子具有不同的行為。例如,您可能想要向某些帖子添加類,或者從一般帖子列表中完全隱藏這些帖子。條件標簽 in_category()
允許您確定在某個或多個類別中發布的帖子。
接受的參數
此條件標記有兩個參數:
$category
(數組/字符串,必需):類別 ID、名稱、slug 或這些的數組。 (默認:無)
$post
(對象/整數,可選):要檢查的帖子(ID 或對象)。 (默認:當前帖子)
in_category()
的使用示例
假設您有一個包含很多類別的博客,其中一個是“公告”,并且您希望更新在其他帖子中彈出,因此您想要向帖子包裝器添加一個自定義類。這是你要做的:
<?php // Standard Loop stuff. if ( have_posts() ) { while( have_posts() ) { the_post(); if ( in_category( '7' ) ) { ?> <div class="post post-announcement"> <?php } else { ?> <div class="post"> <?php } ?> <h2> <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a> </h2> <div class="post-content"> <?php the_content(); ?> </div> </div><!-- .post --> <?php } } else { echo '<p>' . __( 'Sorry, no posts matched your criteria.', 'translation-domain' ) . '</p>'; } ?>
登錄后復制
4。檢查“頁面模板”是否正在使用:is_page_template()
頁面模板是 WordPress 的一項功能,允許您選擇某些頁面的顯示方式。借助條件標簽 is_page_template()
,您可以檢測某個頁面模板(或任何頁面模板)是否正在使用。
接受的參數
此條件標記只有一個參數:
$template
(字符串,可選):模板的名稱 – 帶擴展名。 (默認:無)
5。檢查頁面是否為存檔頁面:is_archive()
WordPress 網站中有多種存檔:日期存檔、類別存檔、標簽存檔、作者存檔、自定義分類存檔…但如果您想檢測一般的存檔頁面,is_archive()
是您的朋友:檢查是否正在顯示存檔頁面。
接受的參數
此條件標記不接受任何參數。
is_archive()的使用示例
假設您想在存檔頁面中在帖子標題前添加一些文本。這是你要做的:
<?php add_filter( 'the_title', 'alter_title_in_archives' ); function alter_title_in_archives( $title ) { if ( is_archive() && is_main_query() ) { return __( 'Archive', 'translation-domain' ) . ' – ' . $title; } return $title; } ?>
登錄后復制
6。檢查頁面是否為“日期檔案”頁面:is_date()
正如我之前所說,存檔頁面有很多種類型,日期存檔就是其中之一。日期檔案可分為年、月、日檔案;但如果您想檢測一般的日期存檔頁面,您可以使用 is_date()
條件標記。
接受的參數
此條件標記不接受任何參數。
7。檢查給定的小部件是否正在使用:is_active_widget()
在 WordPress 中創建小部件既簡單又有趣,但我們可能需要確定該小部件是否在前端使用。條件標簽 is_active_widget()
正是這樣做的:它檢查小部件是否正在顯示。
接受的參數
此條件標記有四個參數:
$callback
(字符串,可選):要檢查的小部件回調。 (默認:FALSE
)
$widget_id
(整數,可選):小部件的 ID。 (默認:無)
$id_base
(字符串,可選):通過擴展 WP_Widget 創建的小部件的基本 ID。 (默認:無)
$skip_inactive
(布爾值,可選):是否跳過不活動的小部件。 (默認:TRUE
)
is_active_widget()的使用示例
假設您的主題中的一個小部件需要 jQuery 才能運行,并且您需要有條件地將其排入隊列。這是你要做的:
<?php // source: http://codex.wordpress.org/Function_Reference/is_active_widget if ( is_active_widget( false, false, $this->id_base, true ) ) { wp_enqueue_script( 'jquery' ); } ?>
登錄后復制
8。檢查頁面是否為單個博客文章頁面:is_single()
想要檢查用戶是否正在訪問單個帖子?最流行的條件標簽之一 is_single()
可以為您提供幫助。它可以檢測任何帖子類型,但附件頁面和頁面頁面除外。如果您指定帖子 ID、帖子標題或帖子標題(或這些內容的數組),您也可以檢測特定帖子。
接受的參數
此條件標記只有一個參數:
$post
(數組/字符串,可選):帖子 ID、標題、slug 或其中的數組。 (默認:無)
9。檢查Users表中是否存在Email地址: email_exists()
如果您需要檢查電子郵件地址是否在 WordPress 的用戶表中,可以使用 email_exists()
條件標簽。
此特定條件標記是返回 TRUE
以外內容的三個條件標記之一 – 它返回使用給定電子郵件地址注冊的用戶 ID。
接受的參數
此條件標記只有一個參數:
$email
(字符串,可選):要檢查的電子郵件地址。 (默認:無)
email_exists()
的使用示例
假設您正在開發一個插件,該插件可以根據用戶的電子郵件地址構建電子郵件列表,并允許您使用自定義輸入添加和刪除更多電子郵件地址,但您希望防止刪除屬于用戶的電子郵件地址。這是你要做的:
<?php $email_address = get_email_from_some_function(); if ( email_exists( $email_address ) ) { wp_die( __( 'Sorry champ, you can\'t delete a user from this list.', 'translation-domain' ) ); } ?>
登錄后復制
10。檢查帖子類型是否分層:is_post_type_hierarchical()
與頁面和子頁面一樣,您可以為 WordPress 中的新自定義帖子類型定義層次結構。條件標簽 is_post_type_hierarchical()
讓您的代碼知道給定的帖子類型是否是分層的。
接受的參數
此條件標記只有一個參數:
$post_type
(字符串,必需):帖子類型的名稱。 (默認:無)
11。檢查帖子是否“置頂”:is_sticky()
“置頂帖子”是指無論何時發布,都會保留在帖子列表頂部的帖子。而且——我在這里會有點歧視——他們應該得到與其他普通帖子不同的待遇。因此,如果您想向置頂帖子添加帖子類,或者以不同的方式處理它們,您可以使用 is_sticky()
條件標簽讓您的代碼檢測它們。
接受的參數
此條件標記只有一個參數:
$post_id
(字符串,可選):帖子的 ID。 (默認:無)
is_sticky()的使用示例
假設您正在制作一個主題,并且希望在置頂帖子中顯示“置頂”功能區。這是你要做的:
<?php if ( is_sticky() ) { echo '<div class="sticky-ribbon"></div>'; } ?>
登錄后復制
12。檢查是否顯示管理面板:is_admin()
讓我們知道我們是在前端還是后端,條件標簽 is_admin()
是最流行的條件標簽之一。顧名思義,is_admin
檢查 WordPress 管理面板是否正在顯示。
接受的參數
此條件標記不接受任何參數。
13。檢查頁面是否為“分類檔案”頁面:is_category()
當您想要檢測某些類別存檔頁面時,可以使用條件標簽 is_category()
。定義一個類別(或一組類別)作為其參數,您可以檢查這些類別的檔案是否正在顯示。如果您未設置該參數,則當顯示任何類別存檔頁面時,它將返回 TRUE
。
接受的參數
此條件標記只有一個參數:
$category
(字符串/數組,可選):類別 ID、標題、slug 或這些的數組。 (默認:無)
is_category()的使用示例
假設您希望在顯示“新聞”類別檔案時包含不同的側邊欄。這是你要做的:
<?php if ( is_category() ) { // Load sidebar-news.php. get_sidebar( 'news' ); } else { // Load sidebar.php. get_sidebar(); } ?>
登錄后復制
結論
在這一部分中,我們回顧了 WordPress 中記錄的 65 個條件標簽中的 13 個。在接下來的部分中,我們將討論剩下的 52 篇文章。如果您有任何問題或意見,請在下面提出 – 如果您喜歡這篇文章,請不要忘記分享!
下一部分見!
以上就是探索 WordPress 中的條件標簽:從 1 到 13的詳細內容,更多請關注www.92cms.cn其它相關文章!