switch_to_blog

説明

bool switch_to_blog( int $new_blog [ , bool $deprecated = null ] )
ブログを切り替える。

パラメータ

  • $new_blog
    切り替えるブログIDを指定。
  • $deprecated
    非推奨(使用しないこと)。

返り値

常にtrueを返す。

注意

マルチサイトにおいて他サイトの情報を取得したり、更新したりする場合に使用する。基本的な使い方は、このswitch_to_blog関数を使ってブログを切り替え、そのブログに対して処理を行った後、 restore_current_blog関数を使用して元のブログに戻すという流れになる。

このswitch_to_blog関数では、ブログの切り替えを行う前に現在のブログIDをストックし、対で使用されるrestore_current_blog関数ではストックされているブログIDを取り出して元のブログを戻している。なおパラメータ$new_blogが空の場合は、現在のブログIDが適用される。$new_blogが現在のブログIDの場合でも切り替え処理は成功となる。

[5.4.0]'switch_blog'アクションはrestore_current_blog関数からも実行され、どちらから実行されたかを判別可能にするパラメータ$contextが追加された。$contextにはswitch_to_blog関数の場合は'switch'が、restore_current_blog関数の場合は'restore'が格納されている。


使用例

  • $blog_idのブログに切り替える。
    <?php
    switch_to_blog( $blog_id );
    
    // ここに切り替えたブログ向けの処理を記述
    
    restore_current_blog();
    ?>

フィルター

直接実行するフィルターはありません。

アクション

[MU]ブログを切り替えると、'switch_blog'アクションを実行する。パラメータ$new_blogは本関数が受け取ったブログIDが、$prev_blog_idには変更前のブログIDが格納されている($new_blogが現在のブログIDの場合でもこのアクションは実行する)。[5.4.0]パラメータ$contextには'switch'が格納されている。
do_action( 'switch_blog', $new_blog, $prev_blog_id, $context );

ソースファイル

/wp-includes/ms-blogs.php

最終更新 : 2020年04月07日 12:56



お勧め

子カテゴリのアーカイブページを親カテゴリ用のテンプレートファイルで表示しよう(2011年12月8日 更新)

少し前に投稿した「適切なテンプレートファイルを用意してテンプレート内の振り分け処理を無くす」で説明した通り、特定のカテゴリ専用のテンプレートとしてcategory-○○.phpを用意することで、category.phpやarchive.php内で振り分けを行う必要がなくなる。ただ、すべてのカテゴリ分を用意するのは効率的ではないし、特に子カテゴリについては親カテゴリと共通内容になるケースが多いのではないだろうか。ここでは、子カテゴリの個別テンプレートファイルを作らず、親カテゴリのテンプレートを利用する方法を紹介する。

管理画面の'アイキャッチ画像'を'写真'に変える(2013年1月23日 更新)

クライアント向けに専用のテーマを提供する際、稀に管理画面内の用語の変更を依頼されることがある。今回は、'アイキャッチ画像'だとわかりにくいので'写真'に変えてほしいということだった。

5.7の機能拡張:投稿一覧画面向けのフィルター(2021年2月18日 更新)

昨日、予定通り公開された「WordPress 5.7 Beta 3(以降Beta 3)」。WordPressはバージョンアップ毎にアクションやフィルターが追加されており、今回のバージョンアップでは投稿一覧画面に影響を与えるフィルターが追加されていた。

Login rebuilder 2.6.0の新機能紹介(2019年4月22日 更新)

今回追加したものは、REST API / Usersの使用をログイン時のみ使用できるように制限する機能である。この機能を有効にすることで、管理者情報が漏洩するリスクを低減させる効果が期待できる。

タイトルのみをキーワード検索する(2014年4月3日 更新)

WordPressのキーワード検索は、投稿タイトルと本文のどちらかに指定したキーワードが含まれているかを調べるわけだが、時々タイトルだけとか、逆に本文だけ検索したいケースがある。