首頁  >  文章  >  web前端  >  探索 WordPress 中的條件標籤:從 14 到 26 - 綜合指南

探索 WordPress 中的條件標籤:從 14 到 26 - 綜合指南

WBOY
WBOY原創
2023-09-19 12:17:021298瀏覽

探索 WordPress 中的条件标签:从 14 到 26 - 综合指南

在本系列中,我们将介绍 WordPress 的基本功能之一:条件标签。在第三部分中,我们将继续介绍和回顾条件标签。如果您还没有看过前面的部分,请务必查看一下。

我们开始吧!

14。检查我们是否在首页:is_front_page()

在WordPress中,“首页”可以设置为静态WordPress页面或最新博客文章列表(设置>阅读)。无论哪种方式,当显示首页时,条件标签 is_front_page() 返回 TRUE

接受的参数

此条件标记不接受任何参数。

15。检查帖子是否有缩略图:has_post_thumbnail()

“特色图片”是新帖子/页面屏幕的关键部分之一。条件标签 has_post_thumbnail() 确定是否为给定帖子指定了特色图像。

接受的参数

此条件标记只有一个参数:

  • $post_id (整数,可选):帖子 ID。 (默认:当前帖子 ID)

has_post_thumbnail()的使用示例

假设您正在开发一个主题,其中每一篇博客文章都需要有一个“特色图像”,因此如果没有设置特色图像,您希望显示一个“默认图像”。这是你要做的:

<?php

function mytheme_featured_image( $class = '' ) {

    global $post;
	
	$post_title = get_the_title();
	
	if ( has_post_thumbnail( $post->ID ) ) {
	
		$featured_image = get_the_post_thumbnail( $post->ID, 'thumbnail', array(
			'alt' => esc_attr( $post_title ),
			'class' => $class
		) );
		
	} else {
	
		$featured_image = '<img src="' . get_stylesheet_directory_uri() . '/assets/default-thumb.jpg" alt="' . esc_attr( $post_title ) . '" class="default-thumb ' . $class . '" />';
		
	}
	
	return $featured_image;
	
}

/*
 * Usage (inside the Loop):
 * echo mytheme_featured_image( 'my-custom-class' );
 */

?>

16。检查主题是否使用“评论弹出窗口”:is_comments_popup()

你不应该评判任何使用 10 年前主题或喜欢复古的人。如果您正在开发插件,则需要考虑所有因素,其中包括使用评论弹出窗口的主题。要确定这一点,您可以使用条件标签 is_comments_popup()

接受的参数

此条件标记不接受任何参数。

17。检查页面是否为404错误页面:is_404()

“未找到”错误页面通常是我们讨厌在网站中看到的页面,因此我们并不真正关心它们的外观。但是,当您正确使用这些错误页面时,您可以将它们变成有用的页面,通知用户或帮助他们导航。条件标签 is_404() 帮助我们确定是否向用户显示 404 错误。

接受的参数

此条件标记不接受任何参数。

is_404() 的使用示例

假设您正在开发一个记录损坏的内部链接的插件,并且您希望每次查看 404 错误页面时运行您的函数。这是你要做的:

<?php

add_filter( 'template_redirect', 'my_plugin_check_404_pages' );

function my_plugin_check_404_pages() {

    if ( is_404() ) {
    
        my_plugin_404_logger_function();
    
    }
    
}

?>

18。检查给定的分类是否存在:taxonomy_exists()

如果您需要检查自定义分类是否已注册,您可以使用 taxonomy_exists() 条件标记让您的代码确定它。

接受的参数

此条件标记只有一个参数:

  • $taxonomy (字符串,必需):分类法的名称。 (默认:无)

19。检查页面是否为“搜索结果”页面:is_search()

虽然有点被低估,但“搜索结果”页面是 WordPress 网站的重要组成部分。如果您正在开发插件或主题,则可以借助 is_search() 条件标记来检测这些页面。

接受的参数

此条件标记不接受任何参数。

is_search() 的使用示例

假设您想要包含一个具有相同字词的 Google 搜索链接。这是你要做的:

<?php

if ( is_search() ) {

    $search_query = get_search_query();
    
	echo '<div class="google-search"><a href="https://www.google.com.tr/search?q=' . $search_query . '">' . __( 'Search with Google', 'translation-domain' ) . '</a>';

}

?>

20。检查页面是否为“标签档案”页面:is_tag()

想要以不同的方式对待标签档案吗?条件标签 is_tag() 可以帮助您。想要以不同的方式对待特定标签吗?只需传递标签名称、slug 或 ID(或它们的数组)作为参数即可!

接受的参数

此条件标记只有一个参数:

  • $tag (数组/字符串,可选):标签的 ID、名称、slug 或这些的数组。 (默认:无)

21。检查帖子是否有自定义摘录:has_excerpt()

WordPress 帖子中有两种“摘录”:如果您想自己编写,则称为“自定义摘录”,如果您不想,则会生成“自动摘录”(默认情况下,它是帖子的前 55 个字)。 has_excerpt() 条件标签检查用户是否为给定帖子设置了自定义摘录。

接受的参数

此条件标记只有一个参数:

  • $post_id (整数,可选):帖子 ID。 (默认:当前帖子 ID)

has_excerpt() 的使用示例

假设您正在制作一个主题,并且希望在主页中显示自定义摘录,但您不想显示自动摘录。这是你要做的:

<?php

if ( has_excerpt() ) {

    the_excerpt();
	
}

?>

22。检查是否是主查询:is_main_query()

WordPress 使用 WP_Query 类来列出帖子 - 无论是帖子标题列表还是存档页面中完整帖子的索引。许多函数使用 WP_Query 类,is_main_query() 就是其中之一。此条件标记检测查询是否不是“辅助查询”,而是“主查询”。

接受的参数

此条件标记不接受任何参数。

23。检查帖子是否具有给定标签:has_tag()

有时,您可能需要检查帖子是否具有某些标签,以使该帖子(或多个帖子)的行为与其他帖子不同。为此,您可以使用 has_tag() 来检查帖子是否带有您指定的标签。 (注意:它允许您指定多个要查找的标签。)

接受的参数

此条件标记有两个参数:

  • $tag (数组/字符串,可选):标签的名称、ID、slug 或这些的数组。 (默认:无)
  • $post (对象,可选):发布以进行检查。 (默认:当前帖子)

has_tag()的使用示例

假设您的博客文章有“徽章”(例如“新”、“精选”和“过时”),这些“徽章”将通过使用相应的标签来激活,并且您想要回显帖子内的图像。这是你要做的:

<?php

if ( has_tag( 'badge-new' ) ) {

    echo '<div class="post-content badge-new">';

} else if ( has_tag( 'badge-featured' ) ) {

    echo '<div class="post-content badge-featured">';

} else if ( has_tag( 'badge-obsolete' ) ) {

    echo '<div class="post-content badge-obsolete">';

} else {

    echo '<div class="post-content">';
    
}

// Post content.

echo '</div>';

?>

24。检查博客是否安装(?):is_blog_installed()

如果安装了 WordPress,此特定条件标记将返回 TRUE。我添加此条件标签仅供参考,因为从技术上讲,它对于插件或主题开发人员来说没有用处,也许可以在某些外部 WordPress 工具中使用。

接受的参数

此条件标记不接受任何参数。

25。检查用户是否为“超级管理员”:is_super_admin()

在多站点网络中,有一个“超级管理员”可以管理所有站点。要检测用户是否是“超级管理员”(或常规 WordPress 安装中的常规管理员),您可以使用 is_super_admin() 条件标签。

接受的参数

此条件标记只有一个参数:

  • $user_id(整数,可选):用户 ID。 (默认:当前用户)

is_super_admin()的使用示例

假设您不喜欢“Howdy”问候语并且想要更改它,但您的用户喜欢它并希望保留它。在这种情况下,您需要一个仅适用于您的解决方案。这是你要做的:

<?php

// Source: http://www.paulund.co.uk/change-the-wordpress-howdy-text

add_filter( 'admin_bar_menu', 'replace_howdy' );

function replace_howdy( $wp_admin_bar ) {

    $my_account = $wp_admin_bar->get_node( 'my-account' );
    
    $newtitle = __( 'Hi boss!', 'translation-domain' );
    
    $wp_admin_bar->add_node( array(
        'id' => 'my-account',
        'title'    => $newtitle
    ) );
    
    return $wp_admin_bar;

}

?>

26。检查页面是否为“Page”页面:is_page()

在 WordPress 中,“页面”是五种内置帖子类型之一,其他类型还有帖子、修订、附件和导航菜单。如果您想检测某个页面(或一般情况下的任何页面),您可以使用条件标签 is_page()

接受的参数

此条件标记只有一个参数:

  • $page (数组/字符串,可选):页面 ID、标题、slug 或其中的数组。 (默认:无)

结论

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

下一部分见!

以上是探索 WordPress 中的條件標籤:從 14 到 26 - 綜合指南的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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