如何在多站点上发布相同的内容?

时间:2019-10-12 作者:Shaad Amin

尝试完成以下任务。非常感谢您的帮助/建议。1) 我在子目录中有多个使用wp多站点名称的站点(例如。,https://noorshaad.com/uae/, https://noorshaad.com/us/, https://noorshaad.com/uk/). 2) 我需要发布每个域以显示相同的内容&;图片(特色图片)但3)显示不同的Wordpress主题、插件和;插件配置。等

1 个回复
SO网友:Antti Koskinen

这里有一个概念代码(即未测试,需要调整),您可以使用它。在本例中,您创建的帖子将被克隆到网络中的其他子网站。

function copy_content( $post_id, $post, $update ) {

  // check for revision, autosave, etc.

  $args = array(
    \'site__not_in\' => array( get_current_blog_id() ),
  );
  $sites = get_sites( $args );

  $post = $post->to_array(); // post object to array as insert/update functions require array

  foreach ($sites as $site) {
    switch_to_blog( $site->blog_id );

    if ( $update ) {
      wp_update_post( $post );
    } else {
      wp_insert_post( $post );
    }

    restore_current_blog();
  }

}

add_action( \'save_post\', \'copy_content\', 10, 3 );
另一种选择是pre_get_posts 在您的子网站上,从一个主帖子站点中获取帖子。这里已经介绍过了,例如,How would I use pre_get_posts to query another site for posts in my multisite network?