設定さえすればログインしていないユーザにも非アクティブなテーマをプレビューさせることができる Theme Switcha ですが、プレビュー時限定の処理をさせるにはどうすればよいのか… 🤔
必要にせまられたのでプラグインの中を見てみたらこういうのがありました:
$_COOKIE['theme_switcha_theme_'. COOKIEHASH]
var_dump
してみると、非プレビュー時は null
、 任意のテーマをプレビューしているときはそのテーマの名前 (テーマフォルダ名) が出力されるようです。
var_dump($_COOKIE['theme_switcha_theme_'. COOKIEHASH]);
// 非プレビュー時
null
// テーマプレビュー時
'masudakohboh-preview' (例です)
なのでテーマプレビュー中かどうかを PHP で判定するにはこれでいけるのではないでしょうか:
$theme_is_switched = $_COOKIE['theme_switcha_theme_'. COOKIEHASH] !== null;
if ( $theme_is_switched ) {
// プレビュー中限定の処理
}
body タグに専用のカスタムクラスを付けたり、要素を表示・非表示させたりと使い道がたくさんありそうです。
Related posts
関連記事
Bogo の記事翻訳機能をカスタム投稿タイプにも対応させるコードがオンライン上に散見されますが、自動でやるときちょっぴりつまづいたのでここに超簡単にメモします。 結論 本記事作成時 2025年2月3日 時点では、Word […]
ACF (Advanced Custom Field) で作成したカスタム日付を使ってあれこれ計算していているうちに、9時間ズレてしまうことに気づいたので結果的に直った方法をメモします。 サイトは日本国内向けで、タイムゾ […]
Shopify のカート属性 (Cart Attributes) Javascript で追加・取得する方法メモです。
Tags