restore_current_blog() の使い方|説明・引数・注意点

説明

restore_current_blog() は、switch_to_blog() で切り替えたあとに、1つ前のサイトへ戻す関数です。

基本構文

restore_current_blog(): bool

引数

引数はありません。

戻り値

戻せたときは true。切り替えの履歴がないときは false。

使い方(サンプル)

switch_to_blog( 2 );
// 別のサイトでの処理
restore_current_blog();

注意点

  • switch_to_blog() を呼んだ回数だけ、呼ぶ必要がある。
  • 切り替えの履歴がないときに呼ぶと、false を返す。

実務での使いどころ

  • switch_to_blog() で別のサイトを処理したあとに、必ず元に戻すとき。

よくあるミスと対処

  • switch_to_blog() を2回呼んだのに、1回しか戻していない。
  • 途中の return や例外で、戻す処理が飛ばされる。try・finally を使う。

NG例

switch_to_blog( 2 );
if ( ! $ok ) {
	return; // 元に戻していない
}
restore_current_blog();

OK例

switch_to_blog( 2 );
try {
	// 別のサイトでの処理
} finally {
	restore_current_blog();
}

使い分け早見表

関数 役割
switch_to_blog() 別のサイトへ切り替える
restore_current_blog() 切り替え前のサイトへ戻す
get_current_blog_id() 現在のサイトのID

関連項目

switch_to_blog()、get_current_blog_id()、is_multisite()

公式リファレンス:restore_current_blog() | WordPress Developer Resources

コメント

タイトルとURLをコピーしました