12

我有一个使用 WordPress 3.0 的多站点功能设置的小型站点网络。我想创建另一个站点,该站点从其他各个站点中提取某些帖子以进行显示。这个新的“中心”站点对用户来说似乎是它自己的独立站点(带有域映射),但它的内容来自其他站点的帖子。

如何在 WordPress 多站点设置中从另一个站点获取帖子?我可以根据网站名称查询帖子吗?最终结果需要是来自不同站点的按日期排序的帖子集合。

谢谢你的帮助。

4

2 回答 2

18

我有类似的问题,我想从一个博客中获取帖子并将其显示在另一个博客上我想出了以下解决方案,如果需要,您可以稍微修改以满足您的需求

<?php
global $switched;
switch_to_blog(2); //switched to 2

// Get latest Post
$latest_posts = get_posts('category=-3&numberposts=6&orderby=post_name&order=DSC');
$cnt =0;?> 
<ul>
    <?php foreach($latest_posts as $post) : setup_postdata($post);?>
    <li>
        <a href="<?php echo get_page_link($post->ID); ?>" title="<?php echo $post->post_title; ?>"><?php echo  short_title('...', 7); ?></a>
    </li>                                
    <?php endforeach ; ?>

<?php restore_current_blog(); //switched back to main site ?>

如果您不希望此功能简单使用,我还会限制输出的字数

$post->post_title; 

希望能帮助到你。

于 2012-07-08T23:45:37.640 回答
2

使用直接数据库调用来设置这并不难。您可以使用 $wpdb 对象从安装中的任何站点查询帖子。有关使用自定义数据库查询的信息,请参阅使用自定义选择查询显示帖子,但请记住,不是从 $wpdb->posts 中选择,而是需要访问要从中发布帖子的特定站点表。在默认的 Wordpress 3 安装中,这将是 wp_12_posts,其中 12 是站点 ID。id 可以在 wp_blogs 表中找到,或者通过查看管理菜单的站点部分中的 ID 列。

于 2010-10-08T19:03:05.797 回答