如何在我的主页上显示来自wp multisites的最近blogbost

时间:2017-04-07 07:40:06

标签: php wordpress

我在使用wordpress时遇到了一些麻烦。我对wordpress很陌生,并不熟悉一切如何运作。 话虽如此,我正在开发一个Wordpress项目,包括一个主站点和几个不同的子站点。我正在使用Wordpress多站点。

我想要做的是在我的mainsite的每个子网站上显示最新的博客帖子。

我知道如何只用一个网站修复它:

<?php $the_query = new WP_query('posts_per_page=6'); ?>
  <?php while ($the_query -> have_posts()) : $the_query -> the_post(); ?>   
    <a href="<?php the_permalink() ?>"><div class="col-md-3 col-xs-12">

      <p><i class="fa fa-user"></i> <?php the_author(); ?>
      <i class="fa fa-clock-o"></i> <time><?php the_date(); ?></time></p>

      <?php $email = get_the_author_meta('', $author); ?>
      <?php $bild = get_avatar_url($email); ?>
      <img src="<?php echo $bild; ?>" id="avatarimg">

       <h3><?php the_title(); ?></h3>


    </div></a>
    <?php
        endwhile;
        wp_reset_postdata();

    ?>

上面的代码片段只能与一个wordpress网站一起使用,而这正是我希望它只适用于多个网站的方式。

我设法做的是使用此代码从其他网站获取博客帖子:

<?php
  $all_blog = get_sites();
  foreach ($all_blog as $key=>$current_blog) {
    // switch to each blog to get the posts
    switch_to_blog($current_blog->blog_id);
      // fetch all the posts
      $blog_posts = get_posts(array( 'posts_per_page' => 1));
      restore_current_blog();
        // display all posts
        echo $blog_posts[0]->post_content;
  }

?> 

此代码向我提供了所有博客最近博客文章中的所有内容。我没想到的是如何像第一个代码片段一样显示数据。

2 个答案:

答案 0 :(得分:0)

我不知道如何直接帮助你。

但是,如果你看一下WPMUDEV Autopost插件代码,你可能会找到答案。我前段时间用它来做这件事。

B.R。

答案 1 :(得分:0)

我想出了我正在寻找的答案。这是一个相当简单的解决方案,但作为一个新手,我花了一些时间才弄明白。

我只需要在评论部分// display al posts下的foreach循环中写出我想要的信息,所以它看起来像这样:

<?php
$all_blog = get_sites();
foreach ($all_blog as $key=>$current_blog) {
 // switch to each blog to get the posts
 switch_to_blog($current_blog->blog_id);
 // fetch all the posts
  $blog_posts = get_posts(array( 'posts_per_page' => 1));
  restore_current_blog();
    // display all posts
    //echo $blog_posts[0]->post_content;
}

?>

<a href="<?php echo $blog_posts[0]->guid; ?>"><div class="col-xs-12 col-md-3">
<?php $author_name = the_author_meta('display_name', $blog_posts[0]->post_author); ?>
<p><i class="fa fa-user"></i> <?php echo $author_name; ?>
<i class="fa fa-clock-o"></i> <time><?php echo $blog_posts[0]->post_date_gmt; ?></time></p>

<?php $bild = get_avatar_url($blog_posts[0]->post_author); ?>
<img src="<?php echo $bild; ?>" id="avatarimg">

<h3><?php echo $blog_posts[0]->post_title; ?></h3>
</div></a>