如何用WordPress条件标签在指定页面显示标签标题(修复语法错误)
修复WordPress指定页面显示标签标题的语法错误
你的代码出现语法错误的核心原因是PHP条件块未正确闭合就直接输出HTML内容,同时<h3>标签的闭合逻辑错误(将</h3>放在了条件判断之外)。以下是修正后的完整代码:
<?php if (is_page([1364, 211])) : ?> <h3 class="entry-title"> <a href="<?php echo esc_url(get_permalink()); ?>" title="<?php echo esc_attr(get_the_title()); ?>"> <?php $posttags = get_the_tags(); if ($posttags) { // 增加索引判断,避免标签数量不足时报错 if (isset($posttags[1])) { echo '<ul class="symbolic">'; echo '<li>' . $posttags[1]->name . '</li>'; echo '</ul>'; } } ?> </a> </h3> <?php endif; ?>
关键修正点:
- 使用WordPress推荐的
if ... : ... endif;语法处理PHP与HTML的混合嵌套,避免大括号与HTML内容的混乱 - 将
<h3>标签的完整内容包裹在条件判断内部,确保只有指定页面才输出这个标题结构 - 增加
isset($posttags[1])判断,防止文章标签数量少于2个时出现Undefined offset报错
内容的提问来源于stack exchange,提问作者John
相关产品推荐
相关产品推荐

