clean_bookmark_cache()
は、WordPress のブックマーク(リンク)に関するキャッシュを削除するための関数です。
リンク管理(blogroll)を使用している場合、このキャッシュは get_bookmarks()
などで利用されます。ブックマークの追加・更新・削除後にこの関数を呼び出すことで、最新の情報が正しく取得されるようにキャッシュをクリアします。
基本構文
clean_bookmark_cache( $bookmark_id );
$bookmark_id
に指定したリンク ID のキャッシュを削除します。- 個別のブックマークの情報キャッシュが削除されるため、次回の読み込み時にデータベースから再取得されます。
引き数と戻り値
引き数 | 型 | 説明 |
---|---|---|
$bookmark_id | int | 削除対象となるブックマーク(リンク)の 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
まとめ
clean_bookmark_cache()
は、WordPress におけるブックマーク(リンク)のキャッシュ管理に使用される関数です。
ブックマーク更新や削除時に適切にキャッシュをクリアすることで、表示内容が正しく反映されるようになります。リンク機能を活用している場合には、更新処理の一部としてセットで覚えておきたい重要な関数です。
コメント