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

WordPress父文章页展示子文章时内容全消失,请问代码存在什么错误?

问题原因&修复方案

触发页面空白的核心原因

  • PHP语法错误:数组定义时'post_parent' => get_the_ID();末尾错误使用了分号,数组元素分隔应使用逗号,即使是单元素数组也不允许在元素后加分号,该问题直接触发PHP解析报错,生产环境默认关闭错误显示时就会表现为全页空白。
  • 控制结构不闭合:你使用了if($query->have_posts()) : 冒号风格的条件判断语法,但代码末尾没有对应的endif;做结构闭合,同样属于PHP语法错误,会触发解析失败。

其他可优化的问题

  • 自定义查询调用the_post()后会修改全局$post变量,若未调用wp_reset_postdata()恢复主循环的文章数据,会导致父页面后续的主循环内容输出异常。
  • the_title()方法本身会直接输出标题,不需要额外加echo调用,该冗余代码不会触发报错,但属于不必要的写法。

修复后的可用代码

<?php
$children = array( 
    'post_parent' => get_the_ID(),
    'post_type' => 'page', // 若子内容是自定义文章类型,可修改为对应文章类型别名
    'posts_per_page' => -1 // 配置展示所有匹配的子文章
);
$query = new WP_Query( $children );
if($query->have_posts()) : 
    while($query->have_posts()) {
        $query->the_post();
        the_title();
    }
    // 重置文章数据,避免影响父页面主循环
    wp_reset_postdata();
endif;
?>

如果需要排查类似报错,可临时修改wp-config.php中的WP_DEBUG常量值为true开启调试模式,页面会直接输出具体的错误信息和行数,排查完成后改回false即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 00:54:10