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

WordPress技术问题:获取文章标题与内容时页面空白

修复WordPress获取所有文章内容的空白问题

嘿,我来帮你搞定这个问题!你的代码里有几个关键错误导致页面空白,咱们一步步修复:

1. 致命语法错误:数组键值对符号用错了

你写的['posts_per_page' = -1]里用了普通赋值符号=,但PHP数组的键值对必须用=>来关联,这个语法错误会直接让PHP解析失败,页面自然就空白了。

2. 获取文章内容的方式不正确

在while循环里,$the_query->post_content不是正确的调用方式。the_post()方法已经把当前文章的信息赋值给了全局的$post对象,同时WordPress也提供了模板函数来更安全地获取内容:

  • 用get_the_content():会自动处理短代码、格式转换,推荐使用
  • 或者直接用$post->post_content:获取数据库里的原始内容(不处理短代码)

3. 开启错误提示方便调试(新手必备)

调试阶段建议开启PHP错误输出,这样能直接看到报错信息,不用瞎猜问题在哪。可以在代码开头加上这段:

ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

修复后的完整代码

<?php
// 调试用:开启错误提示,上线后可以注释掉
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

require_once("blog/wp-load.php"); 

// 修复数组赋值符号,获取所有文章
$the_query = new WP_Query( ['posts_per_page' => -1] ); 

if ( $the_query->have_posts() ) {
    while ( $the_query->have_posts() ) {
        $the_query->the_post();
        
        // 输出文章标题
        echo '<h2>' . get_the_title() . '</h2>';
        // 输出处理后的文章内容
        echo '<div style="margin-bottom: 2rem;">' . get_the_content() . '</div>';
    }
    wp_reset_postdata();
} else {
    // 没有文章时的提示
    echo '<p>暂无发布的文章</p>';
}
?>

这段代码不仅修复了错误,还加上了标题输出、内容分隔样式,以及无文章时的友好提示,更实用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 07:04:10