WordPress跨站内容聚合实现方案
wordpress调用主站的文章

首页 2025-08-27 21:17:49

在多站点运营场景中,经常需要实现WordPress子站调用主站文章内容的需求。本文将详细介绍几种实用的实现方法。

RSS订阅聚合方式

通过WordPress内置的RSS功能,可以轻松实现跨站内容调用:

include_once(ABSPATH . WPINC . '/feed.php');
$rss = fetch_feed('https://主站网址/feed/');
if (!is_wp_error($rss)) {
  $maxitems = $rss->get_item_quantity(5);
  $rss_items = $rss->get_items(0, $maxitems);
}
?>

REST API接口调用

利用WordPress原生REST API实现更灵活的内容调用:

$response = wp_remote_get('https://主站网址/wp-json/wp/v2/posts?per_page=5');
if (is_array($response)) {
  $posts = json_decode($response【'body'】, true);
  foreach ($posts as $post) {
    echo '

' . $post【'title'】【'rendered'】 . '

';
    echo apply_filters('the_content', $post【'content'】【'rendered'】);
  }
}
?>
注意事项:需要确保主站已开启REST API功能,同时要注意跨域请求的安全性问题,建议添加适当的身份验证机制。

数据库直连方案

对于同一服务器下的站点,可采用数据库直接查询的方式:

$main_db = new wpdb(DB_USER, DB_PASSWORD, '主站数据库名', DB_HOST);
$posts = $main_db->get_results("SELECT * FROM wp_posts WHERE post_status='publish' ORDER BY post_date DESC LIMIT 5");
foreach ($posts as $post) {
  echo '

' . $post->post_title . '

';
  echo apply_filters('the_content', $post->post_content);
}
?>

每种方法都有其适用场景,建议根据实际需求和技术条件选择最合适的实现方案。无论采用哪种方式,都要注意缓存机制的实现,以提升网站性能。

MySQL连接就这么简单!本地远程、编程语言连接方法一网打尽
还在为MySQL日期计算头疼?这份加一天操作指南能解决90%问题
MySQL日志到底在哪里?Linux/Windows/macOS全平台查找方法在此
MySQL数据库管理工具全景评测:从Workbench到DBeaver的技术选型指南
MySQL密码忘了怎么办?这份重置指南能救急,Windows/Linux/Mac都适用
你的MySQL为什么经常卡死?可能是锁表在作怪!快速排查方法在此
MySQL单表卡爆怎么办?从策略到实战,一文掌握「分表」救命技巧
清空MySQL数据表千万别用错!DELETE和TRUNCATE这个区别可能导致重大事故
你的MySQL中文排序一团糟?记住这几点,轻松实现准确拼音排序!
别再混淆Hive和MySQL了!读懂它们的天壤之别,才算摸到大数据的门道