MENU

clean_network_cache()

clean_network_cache() は、WordPress マルチサイト環境において、指定されたネットワーク(マルチサイトネットワーク)のキャッシュを削除する関数です。

ネットワークに関連する情報(名前、ドメイン、設定など)が更新された場合、キャッシュが原因で古い情報が表示される可能性があります。

この関数を使うことで、該当ネットワークのキャッシュをクリアし、常に最新情報が取得されるようにします。

目次

基本構文

clean_network_cache( $network_id );
  • $network_id に指定されたネットワークのキャッシュを削除します。
  • 通常、ネットワーク情報の更新時に自動で呼び出されますが、必要に応じて手動でも使用できます。

引き数と戻り値

引き数説明
$network_idintキャッシュを削除したいネットワークのID
戻り値説明
なし(void副作用としてキャッシュを削除する。返り値はなし

使用例

タグを使った使用例

$network_id = 1; // デフォルトのネットワークID
clean_network_cache( $network_id );

このコードは、ネットワーク ID が 1 のネットワークに関連付けられているキャッシュを削除します。設定変更後のキャッシュ更新に活用できます。

注意点

マルチサイト専用関数

シングルサイト環境では意味を持ちません。

自動で呼ばれるケースが多い

update_network_option() などの関数使用時に内部で自動呼び出しされることがあります。

頻繁な使用は推奨されない

キャッシュ削除は処理負荷になるため、必要な場合に限定しましょう。

よく一緒に使われる関数

get_network()

$network = get_network( $network_id ); // キャッシュ利用あり
clean_network_cache( $network_id );
$network = get_network( $network_id ); // 再取得(キャッシュ削除後)

ネットワーク情報を再取得したい場合に組み合わせて使います。

update_network_option()

update_network_option( $network_id, 'example_option', 'new_value' );
clean_network_cache( $network_id );

ネットワーク設定変更後、キャッシュ削除で即時反映を促す場合に使用。

wp_cache_delete()

wp_cache_delete( 'networks', 'site-options' );
clean_network_cache( $network_id );

より細かいキャッシュ制御と併用することで安定性が増します。

想定されるトラブル

ネットワーク名や設定変更が管理画面に反映されない

キャッシュが残っているため、表示が古い情報のままになる。

解決方法

clean_network_cache() を明示的に呼び出してキャッシュ削除。

ネットワークのドメインやパスを変更してもAPIで正しく取得できない

get_network() 関数が古いキャッシュを返すため、誤った情報が取得される。

解決方法

clean_network_cache( $network_id ) を使ってキャッシュをリセット。

Q&A

この関数は手動で呼び出す必要がありますか?

通常は不要ですが、プログラムでネットワーク設定を変更した直後などに使うと確実です。

複数のネットワークに一括でキャッシュ削除できますか?

複数ネットワークに対しては、ループを使って個別に clean_network_cache() を呼び出します。

シングルサイトでも安全に使えますか?

実行してもエラーにはなりませんが、効果はありません。

まとめ

clean_network_cache() は、WordPressマルチサイトにおけるネットワーク情報のキャッシュを削除するための関数です。

設定変更後の表示反映や情報の再取得を確実に行いたい場合に役立ちます。頻繁に使う必要はありませんが、カスタム開発時やバッチ処理など、キャッシュ整合性が重要な場面で効果を発揮します。

よかったらシェアしてね!
  • URLをコピーしました!

コメント

コメントする

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

目次