説明
パラメータ
- $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
関連
お勧め
Login rebuilder 2.3.0の新機能を紹介(2018年5月27日 更新)
プラグイン「Login rebuilder」はログイン時の履歴(ログ)や不正なログインページへのアクセス履歴を保存している。これらの履歴情報はダッシュボートで確認できるが、バージョン2.3.0においてそれぞれがダウンロードできるようになった。
古めのリビジョンを削除した時のメモ(2022年5月16日 更新)
大きく育ったデータベースを整理するため、古めのリビジョンとそれに紐づいたカスタムフィールドデータを削除。と思ったら「The total number of locks exceeds the lock table size」というエラーが発生して削除できなかった。
決まった値を返すだけの関数群(2018年5月27日 更新)
WordPressのソースコードを眺めているとフィルター関数名で'__return_○○'が指定されている部分を時々見かけます。それらの関数定義を見てみると、すべて決まった値を単純に返すだけでした。これらの関数がちょっと気になったので、まとめてみました。
「Align widgets horizontally」プラグインのフィルター使用例(2024年5月15日 更新)
ダッシュボードのウィジェットを横並びに変える「Align widgets horizontally」プラグインには緒設定を変更できるフィルターが用意されている。ここではフィルターの使い方と設定できる項目について紹介する。
WP_Postオブジェクトで投稿情報を直感的に使う(2012年10月4日 更新)
WordPress 3.5で登場するであろう WP_Postクラス。WordPressの投稿情報は、投稿情報本体のほか、カテゴリーや投稿タグ、カスタムフィールドなど、いくつかに分散して記録され、それぞれの情報を取得する際は、いくつかの関数をしていた。新しいWP_Postクラスにより、その習慣とおさらばできるかもしれない。