お問い合わせはコチラから

transientを名前の部分指定で一括削除する

サイト運営

WordPressでは、transientを使ってPHP出力をキャッシュするとサイトの表示速度が高速化します。

それを利用してSWELLでは何でもかんでもtransientでキャッシュすることでテーマを高速化しています。

transientは結果をキャッシュしてしまうので、サイトの表示がすぐに更新されないため、必要に応じてtransientをいちいち削除しなければならない運用上のデメリットがあります。

特定のtransientを削除できるdelete_transient()関数があります。

しかし、この関数はkeyの指定が必要なのです。

特定の文字列を含むtransientだけ一括で削除したい時に、keyを正確に指定しなければならないdelete_transient()関数だと使い勝手が悪いと思っていました。

transientは、名前に規則がありますので直接SQLを叩けば削除することができます。

この記事でメモしておきます。

transientを名前の部分指定で一括削除するスニペット

transientを削除するタイミングとして、save_postやdeleted_postアクションフックに引っ掛けていますが、別に無くてもいいです。

<?php

add_action( 'save_post', 'wpdocs_delete_my_important_transient',9,1);
add_action( 'deleted_post', 'wpdocs_delete_my_important_transient',9,1 );
//add_action( 'edit_post', 'wpdocs_delete_my_important_transient',9,3 );
//prefixを含むtransientを削除
//$transient_key="prefix_".md5($hoge)
function wpdocs_delete_my_important_transient($post_ID) {
	$prefix="prefix_";
	delete_transient_prefix($prefix);
	
}

function delete_transient_all(){
	global $wpdb;
	$db_prefix = $wpdb->prefix;
	$wpdb->query("delete from `".$db_prefix."options` where `option_name` like '%_transient_%'");	
}

function delete_transient_prefix($prefix){
	global $wpdb;
	$db_prefix = $wpdb->prefix;
	$wpdb->query("delete from `".$db_prefix."options` where `option_name` like '%_transient_".$prefix."_%'");	
}

この記事を書いた人
ブーン

はるばる日本よりオランダ王国へやってまいりました。
自分の経験が少しでも参考になれば嬉しいです。
お問い合わせは、『こちら』からお願い致します。

\ブーンをフォロー/
スポンサーリンク
サイト運営
\シェアお願いします!/
\ブーンをフォロー/
こんな記事も読まれています

失敗しないレンタルサーバーランキング

mixhost

不正アクセスに強くて使いやすいおススメサーバー
\本サイトで利用中/
メリット①:自動ウィルス駆除対応
メリット②:サイトの表示速度が速い!
メリット③:転送量の上限が多い!
メリット④:自由にプラン変更ができ、アクセス増にも対応できる!
メリット⑤:バックアップデータが無料で復元できる!
メリット⑥:Wordpressが簡単にインストールできる!
メリット⑦:どのプランでも初期費用が無料!
メリット⑧:10日間の無料お試し期間と30日の返金保証!

Conoha Wing

国内Wordpress最速の最強サーバー
メリット①:圧倒的な表示速度
メリット②:レンタルサーバーと独自ドメインがセットでお得◎
メリット③:プラン変更はすべてのプランで自由自在
メリット④:一か月の利用転送量の制限が緩い(9TB~)
メリット⑤:WordPresサイトの移行が簡単

エックスサーバー

国内シェアNo1の安定性と実績が魅力。ALL SSDで死角なしの万能サーバー。
メリット①:サイトの表示速度が安定して速い!
メリット②:アクセス負荷に強くて安定性が高い!
メリット③:24時間365日の充実サポートで安心!電話サポートもあり!
メリット④:転送量が多い!
メリット⑤:自動バックアップ機能付き!
メリット⑥:WordPressが簡単にインストールできる!
メリット⑦:10日の無料お試し期間がある!

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