如何在WordPress中将同一帖子分享到多个站点?

时间:2016-07-13 作者:muthupandi

我们正在开发多站点的WordPress。我们需要将一些帖子共享到多个站点。我们需要保存在一个以上的点击一个网站的帖子。

我在谷歌上搜索过,但我找不到任何关于这方面的教程。

2 个回复
SO网友:cjbj

您可以使用该功能switch_to_blog() 为了这个

$other_id = 1234 // the id of the other blog to save the post to
switch_to_blog($other_id);
$my_post = array(
  \'post_title\'    => $post_title,
  \'post_content\'  => $post_content,
  \'post_status\'   => \'publish\',
  \'post_author\'   => $post_author,
  );

// Insert the post into the database
wp_insert_post( $my_post );

restore_current_blog();
如果在save_post 胡克,因为wp_insert_post 还调用save_post 你最终会陷入一个无限循环。This post on Stack Overflow 给出了解决方案。

SO网友:WhiteWindows

作者Broadcast 在这里

鉴于我对多站点以及所有相关问题有着丰富的经验,我建议您让一个有经验的插件来处理帖子共享。

使用API 你可以将文章广播到你想要的任何网络博客。它将为您处理所有附件的复制(是的,附件在每个博客上有不同的URL和ID)。

以下是如何将帖子123广播到多个博客:

ThreeWP_Broadcast()->api()->broadcast_children( 123, [ 10, 11, 12 ] );
以上内容还将把帖子链接在一起,因此当您更新帖子123时,所有子帖子也将更新。

相关推荐

Changing slug of all posts

我有一个网站,有十几种自定义帖子类型。我想更改默认的帖子类型,使其URL有一段/news/。在我的函数文件中,我有: add_action( \'init\', \'change_post_object\' ); // Change dashboard Posts to News function change_post_object() { $get_post_type = get_post_type_object(\'post\');&#x