MENU

clean_bookmark_cache()

clean_bookmark_cache() は、WordPress のブックマーク(リンク)に関するキャッシュを削除するための関数です。

リンク管理(blogroll)を使用している場合、このキャッシュは get_bookmarks() などで利用されます。ブックマークの追加・更新・削除後にこの関数を呼び出すことで、最新の情報が正しく取得されるようにキャッシュをクリアします。

目次

基本構文

clean_bookmark_cache( $bookmark_id );
  • $bookmark_id に指定したリンク ID のキャッシュを削除します。
  • 個別のブックマークの情報キャッシュが削除されるため、次回の読み込み時にデータベースから再取得されます。

引き数と戻り値

引き数説明
$bookmark_idint削除対象となるブックマーク(リンク)の ID
戻り値説明
なし(void副作用的処理。戻り値はなし

使用例

タグを使った使用例

$bookmark_id = 42;
clean_bookmark_cache( $bookmark_id );

ID「42」のリンク情報に関するキャッシュを削除します。この後 get_bookmark()get_bookmarks() を使用すると、常に新しいデータが取得されます。

注意点

  • ブックマーク関連機能(リンクマネージャー)は WordPress 3.5 以降ではデフォルトで非表示になっています。使用する場合はプラグインや設定変更が必要です。
  • ブックマークの更新後にこの関数を呼び出さないと、表示が更新されないことがあります。
  • $bookmark_id整数である必要があります。無効な ID を渡すと何も起きません。

よく一緒に使われる関数

get_bookmark()

$bookmark = get_bookmark( $bookmark_id );

指定したブックマークの詳細情報を取得します。キャッシュをクリア後に呼び出すと、常に最新データを得られます。

wp_update_link()

wp_update_link( [
  'link_id' => $bookmark_id,
  'link_name' => '新しいリンク名'
] );
clean_bookmark_cache( $bookmark_id );

リンクを更新したあとにキャッシュを削除して、次回表示時に正しい内容が反映されるようにします。

get_bookmarks()

$bookmarks = get_bookmarks();

登録された全リンクの情報を取得します。キャッシュがあると更新が反映されないため、clean_bookmark_cache() を併用します。

想定されるトラブル

リンクの変更がサイトに反映されない

get_bookmarks() がキャッシュされた情報を返しているため。

解決方法

wp_update_link() 後に clean_bookmark_cache() を呼び出し、最新情報が取得されるようにします。

リンク情報を削除したのにまだ表示される

キャッシュに古い情報が残っている場合、削除したはずのリンクが表示され続けることがある。

解決方法

clean_bookmark_cache() を削除直後に呼び出してキャッシュをクリアする。

Q&A

リンク(ブックマーク)って今でも使えるの?

はい。ただし WordPress 3.5 以降では非表示になっているため、link-manager プラグインの有効化などが必要です。

clean_bookmark_cache() は全てのリンクキャッシュを削除できますか?

いいえ。特定のリンク ID に関するキャッシュのみを削除します。

リンクを新規追加した時もキャッシュ削除が必要?

通常は不要ですが、即座に新しいリンクを画面に表示したい場合は clean_bookmark_cache() を呼び出すのが確実です。

まとめ

clean_bookmark_cache() は、WordPress におけるブックマーク(リンク)のキャッシュ管理に使用される関数です。

ブックマーク更新や削除時に適切にキャッシュをクリアすることで、表示内容が正しく反映されるようになります。リンク機能を活用している場合には、更新処理の一部としてセットで覚えておきたい重要な関数です。

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

コメント

コメントする

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

目次