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



お勧め

Emojin:プラグイン作ってみました(2015年3月21日 更新)

ちょっと前のTLでiOSの絵文字を含んだ投稿を保存すると、絵文字以降の文章がすべて消えた状態で保存されるといったツイートを見かけた。少し検索してみると、MySQLのデータベースの文字セットが「utf8」の場合、iOSの絵文字のような4バイトの文字を正常に保存できず、それ以降の文章も保存されないというものらしい。対処方法としてデータベースの文字セットを「utf8mb4」に変更するのが有効らしいのだが、他に回避策がないか考えてみた。

Twenty Seventeenのフォントサイズを変更してみた(2021年12月15日 更新)

先日投稿した「続テーマを変更せずにWebフォントを使ってみた」では、テーマ「Twenty Seventeen」でもWebフォントを使えるようにした。その際、「Twenty Seventeen」のフォントサイズが少し小さく感じたので、今回はフォントサイズを調整してみた。

HTML entities button:プラグイン作ってみました(2021年4月28日 更新)

以前投稿した「HTML編集モードに定型文ボタンを追加する」をアレンジして、HTML編集モードに特殊文字(HTMLエンティティ)を挿入できるボタン、顔文字を挿入できるボタン、過去の投稿ページのリンクを挿入できるボタンを追加するプラグインを作ってみました。HTML編集モードの作業効率を向上させるプラグインです。2.1.0では「Dashiconsの挿入」を追加しました。HTML編集モードをメインに使用されている方は、お試しあれ。

5.7の機能拡張:エクスポートファイルに更新日時が追加ほか(2021年2月23日 更新)

WordPressはサイト移行を支援する機能として投稿情報のエクスポート機能を備えている。5.7ではこのエクスポート機能が改良され、更新日時情報が追加されるようだ。

query_posts(WP_Queryクラス)でカスタムフィールドを使う(2011年9月15日 更新)

先週3回にわたってtax_queryパラメータを使ったカテゴリーや投稿タグ、投稿フォーマットの絞り込みを整理したが、その途中で目に付いたのが'meta_query'パラメータ。この'meta_query'パラメータは、カスタムフィールドの絞り込み条件を指定するためのもので、3.2で登場した新しいパラメータのようだ。