web-dev-qa-db-ja.com

Wordpressで複数のサイトに同じ投稿を共有するにはどうすればいいですか?

私たちは複数のサイトでWordPressを開発しています。いくつかの投稿を複数のサイトに共有する必要があります。ワンクリックで複数のサイトに投稿を保存する必要があります。

Googleで検索しましたが、そのためのチュートリアルを入手できません。

2
muthupandi

これには関数 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_postsave_postを呼び出し、無限ループに陥るためです。 スタックオーバーフローに関するこの投稿 はそのための解決策を提供します。

1
cjbj

作者 放送 ここ。

私がマルチポスティングに関してかなりの経験を積んできたこと、そしてそれが関連する問題のすべてを見てきたので、経験豊富なプラグインに投稿共有の世話をさせることをお勧めします。

_ api _ を使用すると、ネットワーク上のブログの多くに必要な記事を投稿することができます。それはあなたのために添付ファイルのコピーのすべての世話をするでしょう(そう、添付ファイルはそれぞれのブログで異なるURLとIDを持っています)。

投稿123を複数のブログにブロードキャストする方法は次のとおりです。

ThreeWP_Broadcast()->api()->broadcast_children( 123, [ 10, 11, 12 ] );

上記では投稿もリンクされているので、投稿123を更新すると、すべての子も更新されます。

1
WhiteWindows