You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取WordPress的archive_title?可用什么函数获取当前页面标题?

问题原因

你遇到的问题是PHP基础语法错误导致的,核心问题有两处:

  1. PHP 中所有变量调用时都必须带$前缀,你代码里echo title_var_to_check;和if(title_var_to_check == "string to check")两处都漏写了变量前缀$,PHP 识别不到这是变量,会默认把它当做未定义的常量处理,直接输出常量名的字符串,就是你看到的页面上显示的"title_var_to_check"文本。
  2. 额外注意:get_the_archive_title()返回的内容默认会带归档类型前缀,比如分类归档会返回「分类:目标标题」、标签归档会返回「标签:目标标题」,如果你要匹配的是纯标题文本,需要要么匹配字符串时带上对应前缀,要么提前过滤掉前缀。

修正后的代码

elseif ( is_archive() || is_home() ) {
    the_archive_title( '<h1 class="page-title archive-title">', '</h1>' );
    
    // 自定义代码开始
    $title_var_to_check = get_the_archive_title();
    // 测试用的输出,调试完成后可以删除
    // echo $title_var_to_check;
    if( $title_var_to_check == "你要匹配的完整标题字符串" ){
        // 这里可以写你要执行的逻辑,比如引入指定PHP文件
        get_template_part( '你要引入的PHP文件相对路径' );
        // 也可以直接输出描述文本
        echo '<p>你要添加的描述文本</p>';
    }
    // 自定义代码结束
}

补充注意事项

  • 如果不需要匹配归档前缀,可以用下面的代码获取纯标题文本再做匹配:
$title_var_to_check = wp_strip_all_tags( get_the_archive_title() );
$title_var_to_check = preg_replace( '/^[\w]+: /u', '', $title_var_to_check );
  • 修改主题文件前建议先做备份,优先用子主题修改,避免主题更新后自定义代码被覆盖。

内容的提问来源于stack exchange,提问作者Ashmin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 16:18:02