Dalam siri ini, kami akan merangkumi salah satu ciri penting WordPress: teg bersyarat. Dalam Bahagian 3, kami akan terus memperkenalkan dan menyemak teg bersyarat. Jika anda tidak melihat ansuran sebelumnya, pastikan anda menyemaknya.
Jom mulakan!
is_front_page()
is_front_page()
在WordPress中,“首页”可以设置为静态WordPress页面或最新博客文章列表(设置>阅读)。无论哪种方式,当显示首页时,条件标签 is_front_page()
返回 TRUE
。
此条件标记不接受任何参数。
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' ); */ ?>
is_comments_popup()
你不应该评判任何使用 10 年前主题或喜欢复古的人。如果您正在开发插件,则需要考虑所有因素,其中包括使用评论弹出窗口的主题。要确定这一点,您可以使用条件标签 is_comments_popup()
。
此条件标记不接受任何参数。
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(); } } ?>
taxonomy_exists()
如果您需要检查自定义分类是否已注册,您可以使用 taxonomy_exists()
条件标记让您的代码确定它。
此条件标记只有一个参数:
$taxonomy
(字符串,必需):分类法的名称。 (默认:无)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>'; } ?>
is_tag()
想要以不同的方式对待标签档案吗?条件标签 is_tag()
可以帮助您。想要以不同的方式对待特定标签吗?只需传递标签名称、slug 或 ID(或它们的数组)作为参数即可!
此条件标记只有一个参数:
$tag
(数组/字符串,可选):标签的 ID、名称、slug 或这些的数组。 (默认:无)has_excerpt()
WordPress 帖子中有两种“摘录”:如果您想自己编写,则称为“自定义摘录”,如果您不想,则会生成“自动摘录”(默认情况下,它是帖子的前 55 个字)。 has_excerpt()
条件标签检查用户是否为给定帖子设置了自定义摘录。
此条件标记只有一个参数:
$post_id
(整数,可选):帖子 ID。 (默认:当前帖子 ID)has_excerpt()
Dalam WordPress, "Halaman Utama" boleh ditetapkan kepada halaman WordPress statik atau senarai catatan blog terkini (Tetapan>Membaca). Sama ada cara, teg bersyarat is_front_page()
mengembalikan TRUE
apabila halaman depan dipaparkan. Teg bersyarat ini tidak menerima sebarang parameter. 🎜 🎜15. Semak sama ada siaran itu mempunyai lakaran kenit:
has_post_thumbnail()
🎜 "Imej yang Ditampilkan" ialah salah satu bahagian penting pada skrin siaran/halaman baharu. Teg bersyarat has_post_thumbnail()
menentukan sama ada imej yang ditampilkan ditentukan untuk siaran tertentu. 🎜
$post_id
(integer, pilihan): ID Pos. (Lalai: ID catatan semasa) Contoh penggunaan has_post_thumbnail()
🎜
🎜Andaikan anda sedang membangunkan tema di mana setiap catatan blog perlu mempunyai "imej yang ditampilkan", jadi jika tiada imej yang ditampilkan ditetapkan, anda mahu "imej lalai" dipaparkan. Inilah perkara yang perlu anda lakukan: 🎜
<?php if ( has_excerpt() ) { the_excerpt(); } ?>
is_comments_popup()
🎜Anda tidak seharusnya menilai sesiapa sahaja yang menggunakan tema dari 10 tahun lalu atau suka retro. Jika anda sedang membangunkan pemalam, anda perlu mempertimbangkan segala-galanya, termasuk menggunakan tema dengan pop timbul ulasan. Untuk menentukan ini, anda boleh menggunakan teg bersyarat is_comments_popup()
. 🎜
is_404()
🎜 Halaman ralat "Tidak Ditemui" biasanya halaman yang kami tidak suka lihat di tapak web, jadi kami tidak begitu peduli dengan rupa halaman tersebut. Walau bagaimanapun, apabila anda menggunakan halaman ralat ini dengan betul, anda boleh mengubahnya menjadi halaman berguna yang memberitahu pengguna atau membantu mereka menavigasi. Teg bersyarat is_404()
membantu kami menentukan sama ada untuk memaparkan ralat 404 kepada pengguna. 🎜
is_404()
🎜
🎜Andaikan anda sedang membangunkan pemalam yang merekodkan pautan dalaman yang rosak dan anda mahu menjalankan fungsi anda setiap kali halaman ralat 404 dilihat. Inilah perkara yang perlu anda lakukan: 🎜
<?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>'; ?>
taxonomy_exists()
🎜Jika anda perlu menyemak sama ada taksonomi tersuai didaftarkan, anda boleh menggunakan teg bersyarat taxonomy_exists()
untuk membenarkan kod anda menentukannya. 🎜
$taxonomy
(String, diperlukan): Nama taksonomi. (Lalai: Tiada)is_search()
🎜Walaupun agak dipandang rendah, halaman Hasil Carian adalah bahagian penting dalam laman web WordPress. Jika anda sedang membangunkan pemalam atau tema, anda boleh mengesan halaman ini dengan bantuan teg bersyarat is_search()
. 🎜
is_search()
🎜
🎜Andaikan anda ingin memasukkan pautan carian Google dengan istilah yang sama. Inilah perkara yang anda perlu lakukan: 🎜
<?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; } ?>
is_tag()
🎜Ingin merawat fail tag secara berbeza? Teg bersyarat is_tag()
boleh membantu anda. Ingin merawat teg tertentu secara berbeza? Hanya hantar nama tag, slug atau ID (atau tatasusunan daripadanya) sebagai parameter! 🎜
$tag
(array/string, pilihan): ID teg, nama, slug atau tatasusunan ini. (Lalai: Tiada)has_excerpt()
🎜Terdapat dua jenis "petikan" dalam siaran WordPress: ia dipanggil "petikan tersuai" jika anda mahu menulisnya sendiri, dan "petikan automatik" dijana jika anda tidak melakukannya (secara lalai ia adalah 55 perkataan pertama jawatan itu). Teg bersyarat has_excerpt()
menyemak sama ada pengguna telah menetapkan petikan tersuai untuk siaran tertentu. 🎜
$post_id
(integer, pilihan): ID Pos. (Lalai: ID catatan semasa) has_excerpt()
🎜
🎜Andaikan anda sedang membuat tema dan anda ingin memaparkan petikan tersuai dalam halaman utama, tetapi anda tidak mahu memaparkan petikan automatik. Inilah perkara yang perlu anda lakukan: 🎜
<?php if ( has_excerpt() ) { the_excerpt(); } ?>
is_main_query()
WordPress 使用 WP_Query
类来列出帖子 - 无论是帖子标题列表还是存档页面中完整帖子的索引。许多函数使用 WP_Query
类,is_main_query()
就是其中之一。此条件标记检测查询是否不是“辅助查询”,而是“主查询”。
此条件标记不接受任何参数。
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>'; ?>
is_blog_installed()
如果安装了 WordPress,此特定条件标记将返回 TRUE
。我添加此条件标签仅供参考,因为从技术上讲,它对于插件或主题开发人员来说没有用处,也许可以在某些外部 WordPress 工具中使用。
此条件标记不接受任何参数。
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; } ?>
is_page()
在 WordPress 中,“页面”是五种内置帖子类型之一,其他类型还有帖子、修订、附件和导航菜单。如果您想检测某个页面(或一般情况下的任何页面),您可以使用条件标签 is_page()
。
此条件标记只有一个参数:
$page
(数组/字符串,可选):页面 ID、标题、slug 或其中的数组。 (默认:无)在这一部分中,我们回顾了 WordPress 中另一批记录的 65 个条件标签。在接下来的部分中,我们将讨论剩下的 39 篇文章。如果您有任何问题或意见,请在下面提出 - 如果您喜欢这篇文章,请不要忘记分享!
下一部分见!
Atas ialah kandungan terperinci Meneroka Teg Bersyarat dalam WordPress: Dari 14 hingga 26 – Panduan Komprehensif. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!