我在使用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;
}
?>
此代码向我提供了所有博客最近博客文章中的所有内容。我没想到的是如何像第一个代码片段一样显示数据。
答案 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>