如何在WordPress多站点设置中显示其他站点的帖子?

JGD*_*Dev 11 wordpress networking blogs posts

我有一个使用WordPress 3.0的多站点功能设置的小型网站网络.我想创建另一个站点,从其他各个站点拉出某些帖子来显示.这个新的"中心"网站看起来像是自己的独立网站(使用域映射),但其内容来自其他网站的帖子.

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

谢谢你的帮助.

Oud*_*din 17

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

<?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 ?>
Run Code Online (Sandbox Code Playgroud)

如果你不想简单地使用这个功能,我也会限制输出的字数

$post->post_title; 
Run Code Online (Sandbox Code Playgroud)

希望能帮助到你.


bha*_*ick 2

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