wp_maybe_transition_site_statuses_on_update()


WordPressのwp_maybe_transition_site_statuses_on_update()関数は、サイトのステータスを更新時に自動的に遷移させるための関数です。マルチサイト環境で利用され、サイトのアーカイブ状態や削除状態を管理します。

構文

wp_maybe_transition_site_statuses_on_update( int $site_id, WP_Site $site );

引数の説明:

  • $site_id (int) — サイトIDを指定します。
  • $site (WP_Site) — WP_Siteオブジェクトを指定します。

例1: サイトのステータスを更新時に自動遷移

この例では、サイトのステータスを更新時に自動的に遷移させます。

add_action( 'wp_update_site', 'wp_maybe_transition_site_statuses_on_update', 10, 2 );

例2: 特定のサイトIDでステータス遷移を実行

指定したサイトIDに対してステータス遷移を実行します。

wp_maybe_transition_site_statuses_on_update( get_current_blog_id(), get_site() );

例3: サイトが削除済みかどうかを確認

サイトが削除済みかどうかを確認し、ステータスを更新します。

if ( '1' === get_blog_option( get_current_blog_id(), 'deleted' ) { wp_maybe_transition_site_statuses_on_update( get_current_blog_id(), get_site() ); }

例4: サイトをアーカイブ状態に遷移

サイトをアーカイブ状態に遷移させます。

update_blog_option( get_current_blog_id(), 'archived', '1' ); wp_maybe_transition_site_statuses_on_update( get_current_blog_id(), get_site() );

例5: カスタムフックでステータス遷移をトリガー

カスタムフックを使用してステータス遷移をトリガーします。

do_action( 'wp_update_site', get_current_blog_id(), get_site() );

例6: マルチサイトでの一括ステータス更新

マルチサイト環境で複数のサイトのステータスを更新します。

foreach ( get_sites() as $site ) { wp_maybe_transition_site_statuses_on_update( $site->blog_id, $site ); }

例7: サイトの復元時にステータスをリセット

削除されたサイトを復元し、ステータスをリセットします。

update_blog_option( get_current_blog_id(), 'deleted', '0' ); wp_maybe_transition_site_statuses_on_update( get_current_blog_id(), get_site() );

注意点

  • この関数はマルチサイト環境でのみ動作します。
  • サイトステータスの変更はデータベースに直接影響します。
  • 誤った使用はサイトの表示に影響を与える可能性があります。

関連機能: