WordPress常用的判断页面方法函数

WordPress本身提供了多种内置函数用于判断当前页面类型,我们可以通过条件判断函数来精准控制页面逻辑。以下是常用判断方法:

1.判断是否为首页

if (is_front_page()) {
    // 静态首页逻辑
}

if (is_home()) {
    // 当博客页面作为文章列表页时触发
}

2.判断是否为单页面

if (is_page('about')) {
    // 判断单页面
}

3.判断是否为文章内页

if (is_single()) {
    // 判断文章内页
}

案例:判断当前页面ID为123

if (is_page() && get_queried_object_id() == 123) {
    // 当前页面ID为123
}

4.判断是否为分类归档页面 

if (is_category()) {
    // 判断分类列表
}

5.使用is_archive()和is_tax()判断归档页面和分类/标签页面 

if (is_archive()) {
    // 归档页面,包括分类、标签、自定义归档等
} elseif (is_category() || is_tag() || is_tax()) {
    // 分类、标签或自定义归档页面
}

6.判断日期页面

if (is_date() || is_year()) {
    // 日期或年份归档页逻辑
}

7.判断搜索页面

if (is_search()) {
    //判断搜索页面
}

8.判断自定义文章类型 

使用 is_singular() 结合自定义文章类型名称,或直接使用 get_post_type() 函数:

// 方法1:直接判断当前是否为某个 CPT 的详情页
if (is_singular('your_cpt_slug')) {
    // 仅在自定义文章类型 "your_cpt_slug" 的详情页执行
}

// 方法2:通过全局变量获取当前文章类型
global $post;
if (isset($post) && $post->post_type === 'your_cpt_slug') {
    // 处理逻辑
}

9.归档页列表判断 

使用 is_post_type_archive() 判断当前是否为自定义文章类型的归档页:

// 判断是否在自定义文章类型归档页
if (is_post_type_archive('your_cpt_slug')) {
    // 例如:处理产品列表页逻辑(针对CPT为product的情况)
}

// 组合查询参数控制输出
if (is_post_type_archive('product')) {
    // 自定义产品列表页的标题或样式
    echo '<h1>产品目录</h1>';
}

10.判断自定义分类

使用 is_tax() 判断当前是否为某个自定义分类的归档页:

// 场景1:判断是否为特定分类法的任意归档页
if (is_tax('your_taxonomy_slug')) {
    // 针对自定义分类法 "your_taxonomy_slug" 的归档页
}

// 场景2:判断是否属于特定分类法的某个具体术语(Term)
if (is_tax('product_category', 'electronics')) {
    // 当访问自定义分类法 product_category 下别名 electronics 的归档页时触发
}

// 场景3:通过术语ID判断
if (is_tax('product_category', array(42, 56))) {
    // 处理ID为42或56的归档页
}