【小技】マルチサイトで子ブログを切り替えられる「switch_to_blog」の使い方
マルチサイトで、親サイトや他の子サイトの情報を
取得したり、更新したりする必要が出てくるかと思います。
そんな時に便利なテンプレートタグがあります。
「switch_to_blog」です。
説明
bool switch_to_blog( int $new_blog [ , bool $deprecated = null ] )
$new_blog:
切り替えるブログIDを指定します。
$deprecated:
非推奨(使用しないこと)
返り値:
常にtrueを返します。
注意点
switch_to_blog 関数を使って切り替えて、何かしらの処理を行った後、
restore_current_blog 関数を使用して元のブログに戻す必要があります。
使い方(例)
// 現在のブログIDを取得する。 $blog_id = get_current_blog_id(); // 全ブログのブログIDを取得 global $wpdb; $blogs = $wpdb->get_results( "SELECT blog_id FROM wp_blogs ORDER BY blog_id" ); // 各ブログの最新記事を指定件数取得する foreach( $blogs as $blog ) { switch_to_blog( $blog->blog_id ); $posts = get_posts( "numberposts=5" ); if( $posts ) { foreach( $posts as $post ) { } } // ブログを切り替え前に戻す restore_current_blog(); }