在另一个网络站点上显示来自一个网络站点的帖子

时间:2020-06-10 作者:nickfindley

我肯定错过了一些非常基本的东西。我想在另一个站点上显示来自一个站点的帖子。没有自定义查询(目前),只有普通的旧帖子。

if ( get_current_blog_id() == 1 ) :
    // do regular main site stuff;
elseif ( get_current_blog_id() == 6 ) :
    switch_to_blog( 1 );
    // pull in posts from main blog
    if ( have_posts() ) :
        while ( have_posts() ) :
            the_post();
            get_template_part( \'content/post\' );
        endwhile;
    endif;
    restore_current_blog();
else :
    // nothing special
endif;
当我尝试这样做时,我会从我试图拉入的站点(站点6)而不是站点1获取帖子数据。我可以在循环中回显get\\u current\\u blog\\u id(),它告诉我我在站点1,但帖子内容最终来自站点6。

1 个回复
最合适的回答,由SO网友:jdm2112 整理而成

您正在循环浏览您之前查询的帖子switch_to_blog() 陈述您的代码似乎来自在主查询运行后执行的页面模板。

需要明确的是,主查询是在执行模板代码之前运行的。之后切换到另一个站点不会更新查询,因此您的循环将遍历原始博客(#6)。

请尝试以下操作:

  switch_to_blog( 1 );
  // pull in posts from main blog
  $query = new WP_Query();

  if ( $query->have_posts() ) {
      while ( $query->have_posts() ) :
        $query->the_post();
        get_template_part( \'content/post\' );
      endwhile;
   wp_reset_postdata();
  } else {
  // none were found
  }

  restore_current_blog();
编辑:更新为使用OP的原始循环和模板零件。编辑2:澄清前几句中的执行顺序。

相关推荐

将本地wordpressMultiSite从一个目录移动到另一个目录后,建立数据库连接时出错

大家好,正如标题所述,我想将本地wordpressmultisite(我使用xampp)克隆到另一个目录。第一个现有mutliste在上的xampp下运行http://localhost/Wordpress. 此wpms的第二个博客可以访问http://localhost/Wordpress/buddha. 这个多站点运行良好。现在,我想在下面运行此多站点安装的副本http://localhost/wp-buddha. 因此,我复制了xampp的htdocs/Wordpress目录中的所有文件和目录,并将