WordPress Snippet

ワードプレスをカスタマイズしよう

Quick Cache 投稿保存時に、特定の投稿やページのキャッシュを破棄する

clear-cache

add_action( 'save_post', 'action_function', 1 );

function action_function() {
	
	do_action('clean_post_cache', 26694 );
}

26694 は、投稿ID

QuickCacheのコメントは、キャッシュを削除後、未ログインユーザーのアクセスでキャッシュが再作成されていない場合は、表示されません。

フック ‘post_updated’ 内で実行した wp_update_post() の挙動について

Aside

この処理を行うと、QuickCacheでは、キャッシュの更新が行われないような作業に対してもキャッシュの更新が行われるようになります。

例えば、データベースを操作するような作業を行った場合、キャッシュは更新されませんが、投稿が更新されたら、他のページの本文を書き換えて、更にキャッシュを削除するという作業が可能になりそうです。

以下の例では、投稿の保存時に、ページ id 26694 をデータベース操作で上書きし、そのページのキャッシュを削除します。

add_action( 'save_post', 'action_function', 1 );

function action_function( $post_ID ) {
	
	global $wpdb;

	$metavalue= "サンプルテキスト";

	$wpdb->query( $wpdb->prepare("UPDATE $wpdb->posts SET post_content= %s WHERE ID= %s ",$metavalue, 26694 ) );
 
 do_action('clean_post_cache', 26694 );
}

[emulsion_relate_posts]