私たちは複数のサイトでWordPressを開発しています。いくつかの投稿を複数のサイトに共有する必要があります。ワンクリックで複数のサイトに投稿を保存する必要があります。
Googleで検索しましたが、そのためのチュートリアルを入手できません。
これには関数 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
を呼び出し、無限ループに陥るためです。 スタックオーバーフローに関するこの投稿 はそのための解決策を提供します。
作者 放送 ここ。
私がマルチポスティングに関してかなりの経験を積んできたこと、そしてそれが関連する問題のすべてを見てきたので、経験豊富なプラグインに投稿共有の世話をさせることをお勧めします。
_ api _ を使用すると、ネットワーク上のブログの多くに必要な記事を投稿することができます。それはあなたのために添付ファイルのコピーのすべての世話をするでしょう(そう、添付ファイルはそれぞれのブログで異なるURLとIDを持っています)。
投稿123を複数のブログにブロードキャストする方法は次のとおりです。
ThreeWP_Broadcast()->api()->broadcast_children( 123, [ 10, 11, 12 ] );
上記では投稿もリンクされているので、投稿123を更新すると、すべての子も更新されます。