Heim > Web-Frontend > HTML-Tutorial > Entdecken Sie bedingte Tags in WordPress: von 1 bis 13

Entdecken Sie bedingte Tags in WordPress: von 1 bis 13

WBOY
Freigeben: 2023-09-15 10:01:03
Original
1084 Leute haben es durchsucht

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

Im ersten Teil dieser Serie haben wir die Grundlagen von bedingten Tags kennengelernt – was sie sind, wie man sie verwendet und einige Szenarien, in denen bedingte Tags nützlich sind.

Im zweiten Teil beginnen wir mit der Überprüfung der 13 bedingten Tags und werden im Verlauf von fünf Artikeln (einschließlich diesem) alle 65 im Codex aufgezeichneten bedingten Tags vervollständigen. Wenn Sie den ersten Teil noch nicht gesehen haben, schauen Sie sich ihn unbedingt an.

Lass uns anfangen!

1. Überprüfen Sie, ob wir uns auf der „Blog Post Index Page“ befinden: is_home()

Dieses Schlecht benannte Bedingte Tag prüft, ob die Indexseite des Blogbeitrags angezeigt wird. Früher, als WordPress nur eine „Blogging-Plattform“ war, bedeutete „Homepage“ eine Liste Ihrer neuesten Blog-Beiträge. Doch nachdem sich WordPress zu einem Content-Management-System weiterentwickelte, wurde der Name is_home() etwas veraltet.

Akzeptierte Parameter

Dieses bedingte Tag akzeptiert keine Parameter.

is_home()的使用示例

Angenommen, Sie möchten Ihre Besucher auf Ihrer Homepage begrüßen. Folgendes müssen Sie tun:

<?php

if ( is_home() ) {
    
    _e( 'Welcome to my great blog!', 'translation-domain' );
	
}

?>
Nach dem Login kopieren

2. Überprüfen Sie, ob das aktuelle Thema ein untergeordnetes Thema ist: is_child_theme()

Wenn Sie mit WordPress entwickeln, möchten Sie möglicherweise überprüfen, ob Sie ein untergeordnetes Thema verwenden. Wenn dies der Fall ist, hilft Ihnen das bedingte Tag is_child_theme() 将在是否使用子主题时返回 TRUEFALSE, indem es TRUE oder FALSE zurückgibt, ob ein untergeordnetes Thema verwendet wird oder nicht.

Akzeptierte Parameter

Dieses bedingte Tag akzeptiert keine Parameter.

3. Überprüfen Sie, ob ein Beitrag zu einer bestimmten Kategorie gehört: in_category()

In einem WordPress-Projekt möchten Sie möglicherweise, dass sich verschiedene Beitragskategorien unterschiedlich verhalten. Beispielsweise möchten Sie möglicherweise bestimmten Beiträgen Klassen hinzufügen oder diese vollständig aus der allgemeinen Beitragsliste ausblenden. Mit bedingten Tags in_category() können Sie Beiträge in einer oder mehreren Kategorien gezielt ansprechen.

Akzeptierte Parameter

Dieses bedingte Tag hat zwei Parameter:

  • $category (Array/String, erforderlich): Kategorie-ID, Name, Slug oder ein Array davon. (Standard: Keine)
  • $post (Objekt/Ganzzahl, optional): Der zu überprüfende Beitrag (ID oder Objekt). (Standard: aktueller Beitrag)
Verwendungsbeispiele für

in_category()

Angenommen, Sie haben einen Blog mit vielen Kategorien, darunter „Ankündigungen“, und Sie möchten, dass Aktualisierungen in anderen Beiträgen angezeigt werden. Daher möchten Sie dem Beitrags-Wrapper eine benutzerdefinierte Klasse hinzufügen. Folgendes müssen Sie tun:

<?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>';
	
}

?>
Nach dem Login kopieren

4. Überprüfen Sie, ob „Seitenvorlage“ verwendet wird: is_page_template()

Seitenvorlagen sind eine Funktion von WordPress, mit der Sie auswählen können, wie bestimmte Seiten angezeigt werden. Mit bedingten Tags is_page_template() können Sie erkennen, ob eine bestimmte Seitenvorlage (oder eine beliebige Seitenvorlage) verwendet wird.

Akzeptierte Parameter

Dieses bedingte Tag hat nur einen Parameter:

  • $template (String, optional): Der Name der Vorlage – mit Erweiterung. (Standard: Keine)

5. Überprüfen Sie, ob es sich bei der Seite um eine Archivseite handelt: is_archive()

Es gibt viele Arten von Archiven in WordPress-Sites: Datumsarchive, Kategoriearchive, Tag-Archive, Autorenarchive, benutzerdefinierte Kategoriearchive ... Aber wenn Sie Archivseiten im Allgemeinen erkennen möchten, ist is_archive() Ihr Freund: Überprüfen Sie, ob eine Archivseite vorhanden ist wird angezeigt.

Akzeptierte Parameter

Dieses bedingte Tag akzeptiert keine Parameter.

is_archive()的使用示例

Angenommen, Sie möchten vor dem Beitragstitel auf Ihrer Archivseite Text hinzufügen. Folgendes müssen Sie tun:

<?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;

}

?>
Nach dem Login kopieren

6. Überprüfen Sie, ob es sich bei der Seite um eine „Datumsarchiv“-Seite handelt: is_date()

Wie ich bereits sagte, gibt es viele Arten von Archivseiten, und das Datumsarchiv ist eine davon. Datumsarchive können in Jahres-, Monats- und Tagesarchive unterteilt werden. Wenn Sie jedoch eine allgemeine Datumsarchivseite erkennen möchten, können Sie das bedingte Tag is_date() verwenden.

Akzeptierte Parameter

Dieses bedingte Tag akzeptiert keine Parameter.

7. Überprüfen Sie, ob ein bestimmtes Widget verwendet wird: is_active_widget()

Das Erstellen von Widgets in WordPress ist einfach und macht Spaß, aber wir müssen möglicherweise feststellen, ob das Widget im Frontend verwendet wird. Das bedingte Tag is_active_widget() macht genau das: Es prüft, ob das Widget angezeigt wird.

Akzeptierte Parameter

Dieses bedingte Tag hat vier Parameter:

  • $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' );

}

?>
Nach dem Login kopieren

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' ) );
    
}

?>
Nach dem Login kopieren

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>';
	
}

?>
Nach dem Login kopieren

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();

}

?>
Nach dem Login kopieren

结论

在这一部分中,我们回顾了 WordPress 中记录的 65 个条件标签中的 13 个。在接下来的部分中,我们将讨论剩下的 52 篇文章。如果您有任何问题或意见,请在下面提出 - 如果您喜欢这篇文章,请不要忘记分享!

下一部分见!

Das obige ist der detaillierte Inhalt vonEntdecken Sie bedingte Tags in WordPress: von 1 bis 13. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage