目錄
接受的參數
接受的参数
结论
首頁 web前端 html教學 探索 WordPress 中的條件標籤:從 1 到 13

探索 WordPress 中的條件標籤:從 1 到 13

Sep 15, 2023 am 10:01 AM

探索 WordPress 中的条件标签:从 1 到 13

在本系列的第一部分中,我們了解了條件標籤的基礎知識 - 它們是什麼、如何使用它們以及條件標籤派上用場的一些場景。

在第二部分中,我們將開始審查 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() 會在是否使用子主題時傳回 TRUEFALSE 來協助您。

接受的參數

此條件標記不接受任何參數。

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' ) . ' &ndash; ' . $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的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

&gt; gt;的目的是什麼 元素? &gt; gt;的目的是什麼 元素? Mar 21, 2025 pm 12:34 PM

本文討論了HTML&lt; Progress&gt;元素,其目的,樣式和與&lt; meter&gt;元素。主要重點是使用&lt; progress&gt;為了完成任務和LT;儀表&gt;對於stati

&lt; datalist&gt;的目的是什麼。 元素? &lt; datalist&gt;的目的是什麼。 元素? Mar 21, 2025 pm 12:33 PM

本文討論了html&lt; datalist&gt;元素,通過提供自動完整建議,改善用戶體驗並減少錯誤來增強表格。Character計數:159

HTML5中跨瀏覽器兼容性的最佳實踐是什麼? HTML5中跨瀏覽器兼容性的最佳實踐是什麼? Mar 17, 2025 pm 12:20 PM

文章討論了確保HTML5跨瀏覽器兼容性的最佳實踐,重點是特徵檢測,進行性增強和測試方法。

&lt; meter&gt;的目的是什麼。 元素? &lt; meter&gt;的目的是什麼。 元素? Mar 21, 2025 pm 12:35 PM

本文討論了HTML&lt; meter&gt;元素,用於在一個範圍內顯示標量或分數值及其在Web開發中的常見應用。它區分了&lt; meter&gt;從&lt; progress&gt;和前

我如何使用html5&lt; time&gt; 元素以語義表示日期和時間? 我如何使用html5&lt; time&gt; 元素以語義表示日期和時間? Mar 12, 2025 pm 04:05 PM

本文解釋了HTML5&lt; time&gt;語義日期/時間表示的元素。 它強調了DateTime屬性對機器可讀性(ISO 8601格式)的重要性,並在人類可讀文本旁邊,增強Accessibilit

如何使用HTML5表單驗證屬性來驗證用戶輸入? 如何使用HTML5表單驗證屬性來驗證用戶輸入? Mar 17, 2025 pm 12:27 PM

本文討論了使用HTML5表單驗證屬性,例如必需的,圖案,最小,最大和長度限制,以直接在瀏覽器中驗證用戶輸入。

視口元標籤是什麼?為什麼對響應式設計很重要? 視口元標籤是什麼?為什麼對響應式設計很重要? Mar 20, 2025 pm 05:56 PM

本文討論了視口元標籤,這對於移動設備上的響應式Web設計至關重要。它解釋瞭如何正確使用確保最佳的內容縮放和用戶交互,而濫用可能會導致設計和可訪問性問題。

&lt; iframe&gt;的目的是什麼。 標籤?使用時的安全考慮是什麼? &lt; iframe&gt;的目的是什麼。 標籤?使用時的安全考慮是什麼? Mar 20, 2025 pm 06:05 PM

本文討論了&lt; iframe&gt;將外部內容嵌入網頁,其常見用途,安全風險以及諸如對象標籤和API等替代方案的目的。

See all articles