在第二部分中,我们将开始审查 13 个条件标签,并在五篇文章(包括这篇文章)中,我们将完成 codex 中记录的所有 65 个条件标签。如果您还没有看过第一部分,请务必查看。
我们开始吧!
1。检查我们是否在“博客文章索引页”: is_home()这个命名不佳条件标记检查博客文章索引页面是否正在显示。在过去,当 wordpress 只是一个“博客平台”时,“主页”意味着您最新博客文章的列表。但在 wordpress 发展成为一个内容管理系统之后,is_home() 这个名字就有点过时了。
接受的参数此条件标记不接受任何参数。
is_home()的使用示例假设您想在主页上向访问者致意。这是你要做的:
<?phpif ( 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()的使用示例假设您想在存档页面中在帖子标题前添加一些文本。这是你要做的:
<?phpadd_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_widgetif ( 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()的使用示例假设您正在制作一个主题,并且希望在置顶帖子中显示“置顶”功能区。这是你要做的:
<?phpif ( 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()的使用示例假设您希望在显示“新闻”类别档案时包含不同的侧边栏。这是你要做的:
<?phpif ( is_category() ) { // load sidebar-news.php. get_sidebar( 'news' ); } else { // load sidebar.php. get_sidebar();}?>
结论在这一部分中,我们回顾了 wordpress 中记录的 65 个条件标签中的 13 个。在接下来的部分中,我们将讨论剩下的 52 篇文章。如果您有任何问题或意见,请在下面提出 - 如果您喜欢这篇文章,请不要忘记分享!
下一部分见!
以上就是探索 wordpress 中的条件标签:从 1 到 13的详细内容。
