>  기사  >  웹 프론트엔드  >  WordPress의 조건부 태그 탐색: 1부터 13까지

WordPress의 조건부 태그 탐색: 1부터 13까지

WBOY
WBOY원래의
2023-09-15 10:01:031068검색

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

이 시리즈의 첫 번째 부분에서는 조건부 태그의 기본 사항, 즉 정의, 사용 방법, 조건부 태그가 유용한 몇 가지 시나리오를 배웠습니다.

2부에서는 13개의 조건부 태그 검토를 시작하고, 5개의 기사(이 기사 포함)에 걸쳐 Codex에 기록된 65개의 조건부 태그를 모두 완성할 것입니다. 아직 1편을 보지 않으셨다면 꼭 확인해보세요.

시작해 보세요!

1. "블로그 게시물 색인 페이지"에 있는지 확인하세요: is_home()

잘못된 이름의 조건부 태그는 블로그 게시물 색인 페이지가 표시되는지 확인합니다. 예전에는 WordPress가 단지 "블로깅 플랫폼"이었을 때 "홈페이지"는 최신 블로그 게시물 목록을 의미했습니다. 하지만 WordPress가 콘텐츠 관리 시스템으로 발전한 이후 is_home()라는 이름은 약간 구식이 되었습니다.

허용되는 매개변수

이 조건부 태그는 어떤 매개변수도 허용하지 않습니다.

is_home()的使用示例

홈페이지에서 방문자를 맞이하고 싶다고 가정해 보세요. 당신이 해야 할 일은 다음과 같습니다:

으아아아

2. 현재 주제가 하위 주제인지 확인하세요. is_child_theme()

워드프레스로 개발할 때, 차일드 ​​테마를 사용하고 있는지 확인하고 싶을 수도 있습니다. 이 경우 조건부 태그 is_child_theme() 将在是否使用子主题时返回 TRUEFALSE는 하위 테마 사용 여부에 따라 TRUE 또는 FALSE를 반환하여 도움이 됩니다.

허용되는 매개변수

이 조건부 태그는 어떤 매개변수도 허용하지 않습니다.

3. 게시물이 특정 카테고리에 속하는지 확인하세요. in_category()

WordPress 프로젝트에서는 다양한 카테고리의 게시물이 다르게 작동하도록 할 수 있습니다. 예를 들어 특정 게시물에 클래스를 추가하거나 일반 게시물 목록에서 완전히 숨길 수 있습니다. 조건부 태그 in_category()를 사용하면 하나 이상의 카테고리에 있는 게시물을 타겟팅할 수 있습니다.

허용되는 매개변수

이 조건부 태그에는 두 개의 매개변수가 있습니다:

  • $category (배열/문자열, 필수): 카테고리 ID, 이름, 슬러그 또는 이들의 배열. (기본값: 없음)
  • $post (객체/정수, 선택): 확인할 게시물(ID 또는 객체)입니다. (기본값: 현재 게시물)

in_category()의 사용 예

'공지사항' 등 여러 카테고리가 있는 블로그가 있고 업데이트가 다른 게시물 내부에 팝업으로 표시되도록 하여 게시물 래퍼에 사용자 정의 클래스를 추가하려고 한다고 가정해 보겠습니다. 당신이 해야 할 일은 다음과 같습니다:

으아아아

4. "페이지 템플릿"이 사용 중인지 확인하세요. is_page_template()

페이지 템플릿은 특정 페이지가 표시되는 방식을 선택할 수 있는 WordPress의 기능입니다. 조건부 태그 is_page_template()를 사용하면 특정 페이지 템플릿(또는 모든 페이지 템플릿)이 사용 중인지 여부를 감지할 수 있습니다.

허용되는 매개변수

이 조건부 태그에는 매개변수가 하나만 있습니다:

  • $template (문자열, 선택 사항): 템플릿 이름 - 확장명 포함. (기본값: 없음)

5. 페이지가 보관 페이지인지 확인하세요. is_archive()

WordPress 사이트에는 날짜 아카이브, 카테고리 아카이브, 태그 아카이브, 작성자 아카이브, 사용자 정의 카테고리 아카이브 등 다양한 종류의 아카이브가 있습니다... 하지만 일반적으로 아카이브 페이지를 감지하려면 is_archive()가 당신의 친구입니다. 아카이브 페이지가 있는지 확인하세요. 을 보여주고 있습니다.

허용되는 매개변수

이 조건부 태그는 어떤 매개변수도 허용하지 않습니다.

is_archive()的使用示例

보관 페이지의 게시물 제목 앞에 텍스트를 추가하고 싶다고 가정해 보세요. 당신이 해야 할 일은 다음과 같습니다:

으아아아

6. 페이지가 "날짜 보관" 페이지인지 확인하세요. is_date()

앞서 말했듯이 아카이브 페이지의 종류는 여러 가지가 있는데, 날짜 아카이브도 그 중 하나입니다. 날짜 아카이브는 연도, 월, 일 아카이브로 나눌 수 있지만 일반적인 날짜 아카이브 페이지를 감지하려면 is_date() 조건부 태그를 사용할 수 있습니다.

허용되는 매개변수

이 조건부 태그는 어떤 매개변수도 허용하지 않습니다.

7. 특정 위젯이 사용 중인지 확인하세요. is_active_widget()

WordPress에서 위젯을 만드는 것은 쉽고 재미있지만, 위젯이 프런트엔드에서 사용되는지 확인해야 할 수도 있습니다. 조건부 태그 is_active_widget()가 바로 그 일을 합니다. 즉, 위젯이 표시되고 있는지 확인합니다.

허용되는 매개변수

이 조건부 태그에는 4개의 매개변수가 있습니다:

  • $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으로 문의하세요.