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

如何在WordPress外部主站点展示近期文章?附相关代码

在主站展示WordPress子域名的近期文章

嘿,你已经找对方向了!下面我帮你完善这段代码,解决在主网站(非WordPress环境)调用blog.domain.com近期文章的需求,同时避开常见的坑:

1. 确保wp-load.php的路径正确

首先要确认blog_subdomain/wp-load.php的相对路径是准确的。如果主站和WordPress目录的层级关系有变化,推荐用绝对路径来避免路径错误,比如:

// 用__DIR__获取当前脚本所在目录的绝对路径,再拼接WordPress目录
require_once __DIR__ . '/blog_subdomain/wp-load.php';

这样不管当前脚本放在主站的哪个子目录,都能正确加载WordPress核心。

2. 完善近期文章的展示代码

你的基础代码已经获取了10篇近期文章,下面是完整的可运行版本,包含标题、链接、发布日期的展示,同时保证不会污染主站的全局变量:

// 加载WordPress核心文件
require_once __DIR__ . '/blog_subdomain/wp-load.php';

// 获取最近10篇已发布文章,指定返回字段更高效
$recent_posts = wp_get_recent_posts(array(
    'numberposts' => 10,
    'post_status' => 'publish',
    'fields' => 'all'
));

// 输出文章列表
if (!empty($recent_posts)) {
    echo '<ul class="recent-blog-posts">';
    foreach ($recent_posts as $post) {
        $post_permalink = get_permalink($post['ID']);
        $post_date = get_the_date('Y-m-d', $post['ID']);
        
        echo '<li>';
        echo '<a href="' . esc_url($post_permalink) . '" target="_blank">';
        echo esc_html($post['post_title']); // 转义标题避免XSS风险
        echo '</a>';
        echo '<span class="post-date"> - ' . esc_html($post_date) . '</span>';
        echo '</li>';
    }
    echo '</ul>';
} else {
    echo '<p>暂无近期文章</p>';
}

// 重置WordPress查询状态,避免影响主站环境
wp_reset_query();

3. 关键注意事项

  • 安全优先:一定要用esc_url()和esc_html()转义输出内容,防止跨站脚本攻击(XSS)。
  • 性能优化:如果主站访问量较大,建议给这段查询加缓存,比如用wp_cache_get()和wp_cache_set(),减少对WordPress数据库的频繁调用。
  • 权限检查:确保主站的PHP进程有读取WordPress目录文件的权限,避免加载wp-load.php时出现权限错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 03:43:37