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

WordPress分类无文章时无法显示默认提示文本,请求排查解决

问题排查与修复

你的代码核心问题及修复方案如下:

1. 翻译函数未输出内容

__('No items to show') 是WordPress的翻译函数,它仅返回字符串但不会自动输出到页面,必须搭配echo才能显示内容。原代码中的这一行:

<p><?php __('No items to show'); ?></p>

需要修改为:

<p><?php echo __('No items to show'); ?></p>

2. 确认$category_name变量有效性

虽然有文章时能正常显示,但需确保$category_name确实传递了正确的分类别名(slug)。如果变量为空或值错误,WP_Query会返回空结果,修复第一个问题后提示文本会正常显示,但仍需排查变量来源:

  • 若在分类模板中,建议用get_query_var('category_name')获取当前分类别名,替代直接使用未定义的$category_name。
  • 可临时添加调试代码确认变量值:
    // 在WP_Query前添加
    echo '当前查询分类别名:' . $category_name;
    

修复后的完整代码

<?php 
    // 确保获取正确的分类别名(分类模板场景)
    $category_name = get_query_var('category_name');
    $the_query = new WP_Query( array(
        'category_name' => $category_name,
        'orderby'     => 'post_date',
        'order'       => 'DESC',
        'post_type'   => 'post',
        'post_status' => 'publish',
        'posts_per_page' => 10,
        'ignore_sticky_posts' => true,
    )); 
?>
<div class="category">
    <?php if ( $the_query->have_posts() ) : ?>
        <?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?>
            <div class="category__details">
                <a href="<?php the_permalink(); ?>"><h4><?php the_title(); ?></h4></a>
            </div>
        <?php endwhile; ?>
        <?php wp_reset_postdata(); ?>
    <?php else : ?>
        <p><?php echo __('No items to show'); ?></p>
    <?php endif; ?>
</div>

修改后,分类下无文章时即可正常显示提示文本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 18:16:14