在WordPress主题开发中,is_page()
和 is_single()
是两个常用的条件标签,它们用于检查当前页面是否是页面(page)或者单篇文章(single post)。以下是如何使用这些条件标签来控制内容输出的示例:
使用 is_page()
is_page()
函数可以检查当前页面是否是特定的页面。你可以传递一个页面的ID、标题、slug(别名)或者一个页面的数组来检查。
示例代码:
<?php
if (is_page()) {
// 这是页面类型的任何页面
echo "这是页面内容。";
}
if (is_page('about')) {
// 这是名为 "about" 的页面
echo "这是关于我们页面。";
}
if (is_page(array('about', 'contact'))) {
// 这是 "about" 或 "contact" 页面
echo "这是关于我们或联系我们页面。";
}
if (is_page(42)) {
// 这是ID为42的页面
echo "这是ID为42的页面内容。";
}
?>
使用 is_single()
is_single()
函数用于检查当前页面是否是单篇文章页面。同样,你可以传递一个文章的ID、标题、slug或者一个文章的数组。
示例代码:
<?php
if (is_single()) {
// 这是单篇文章页面
echo "这是单篇文章内容。";
}
if (is_single('my-post-slug')) {
// 这是slug为 "my-post-slug" 的文章
echo "这是特定文章的内容。";
}
if (is_single(array('post1', 'post2'))) {
// 这是slug为 "post1" 或 "post2" 的文章
echo "这是特定文章之一的内容。";
}
if (is_single(123)) {
// 这是ID为123的文章
echo "这是ID为123的文章内容。";
}
?>
结合使用
你可以结合使用这些条件标签来更精确地控制内容的输出。
示例代码:
<?php
if (is_page() && !is_front_page()) {
// 这是任何页面,但不是首页
echo "这是页面内容,但不是首页。";
}
if (is_single() && 'post' == get_post_type()) {
// 这是单篇文章页面,并且文章类型是 "post"
echo "这是标准文章类型的单篇文章内容。";
}
?>
在使用这些条件标签时,请确保它们位于WordPress循环(Loop)中,这样它们才能正确地检测当前页面的类型。如果你在循环外使用这些标签,它们可能无法返回正确的结果。