wordpress plug-in

編集権限で LiteSpeed Cache を使う方法

,

wordpress plug-in

LiteSpeed Cache のキャッシュ削除を編集権限でも出来るように試行錯誤してみました。
まだ検証中ですが参考までに。
(下記のコードをfunctions.phpにおいています。)

/**
 * 編集者にもキャッシュ削除ボタンを表示
 */
add_action('admin_bar_menu', function($wp_admin_bar) {

	$current_user = wp_get_current_user();

	if (!in_array('editor', (array) $current_user->roles, true)) {
		return;
	}

	$wp_admin_bar->add_node([
		'id'    => 'editor-purge-cache',
		'title' => 'キャッシュ削除',
		'href'  => wp_nonce_url(
			admin_url('admin-post.php?action=editor_purge_lscache'),
			'editor_purge_lscache'
		),
	]);

}, 100);

/**
 * キャッシュ削除処理
 */
add_action('admin_post_editor_purge_lscache', function() {

	$current_user = wp_get_current_user();

	if (!in_array('editor', (array) $current_user->roles, true)) {
		wp_die('権限がありません。');
	}

	check_admin_referer('editor_purge_lscache');

	if (class_exists('\LiteSpeed\Purge')) {
		\LiteSpeed\Purge::purge_all();
	}

	wp_safe_redirect(
		add_query_arg('cache_purged', '1', wp_get_referer())
	);
	exit;
});

/**
 * 管理画面用メッセージ
 */
add_action('admin_notices', function() {

	if (empty($_GET['cache_purged'])) {
		return;
	}

	echo '<div class="notice notice-success is-dismissible">';
	echo '<p>Cache を削除しました。</p>';
	echo '</div>';
});

/**
 * フロント画面用メッセージ
 */
add_action('wp_footer', function() {

	if (empty($_GET['cache_purged'])) {
		return;
	}

	echo '<script>alert("Cache を削除しました");</script>';

});

有償サポートやカスタマイズをご希望の方は、弊社サポートページ からお問い合わせください。

自己紹介

松田 大と申しますm(_ _)m
インディーズでミュージシャンをやっていたのですがいつのまにか…

とある企業でショップのアルバイトスタッフから正社員、支店長を経てシステム部門に異動するという、開発担当としては変わった経緯を持っている方だと思います。

「Excel VBA」からスタートして、Yamaha RTX シリーズで VPN環境構築、Hyper-V環境構築、Windowsアプリ開発などを経験した後、「 WordPress 」に出会い、どっぷりハマっています。

現在勤めているETBS合同会社では、「 WordPress 」を活用したWEBサイト、業務用WEBアプリケーション開発を中心に、記事の執筆代行や掲載に必要な情報のリサーチ、映像のテロップ入れや切りはりなどの簡単な動画編集なども、まとめて行なっています。

宮崎県 都城市 出身。東京都 葛飾区 在住。現在、代表兼二児のパパ。子育てを通じて、こどもたちにもプログラミングの楽しさに触れてほしいと思うようになり、「 こどもICTかつしか教室 」を開講中。最近は童心に帰り、簡単なゲーム制作なんかも楽しんでいます(^_^)。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

生成AIで作ったHTMLを、そのままWebサイトに。
ビジュアルプログラミング オンライン無料体験レッスン モニター大募集
こどもICTかつしか教室 | 幼稚園年長 小学生 中学生 スクラッチ ビジュアルプログラミング
WordPress で困ったら? | 必要なときに必要な分だけ、お助けサポート
WordPress / PHP なんでも相談OK