【プレビュー時はPV数をカウントしたくない】WordPressでプレビュー画面(未公開モード)かどうか条件分岐する方法

WordPressで投稿や固定ページを一般公開する前に、プレビュー画面で確認をすることってよくあると思います。内容に問題はないかどうかを確認して「公開」ボタンを押して一般公開、ですね。

その時に、「プレビュー画面(未公開モード)では、あるスクリプトは読み込みたくない。プログラムを実行させたくない」ってことがあります。

ちょっとしたことなんですけども、覚えておくと便利ですし、まとめにも書きましたが、私は重要なことだと思いますのでご紹介します。

読み込みたくないスクリプトとはこんな例です

プレビュー画面(未公開モード)の時に読み込みたくないスクリプトとは、何か。

例えば・・・

「自分のサイトの閲覧数(PV数)に応じて、

料金が発生する(課金される)スクリプトを設置している場合」

とします。

PV数をカウントするスクリプトを

WordPressの「single.php」や「index.php」などに設置していた場合

を想像してください・・・。

100PVだと、1000円払ってください。

1000PVだと、5000円払ってください。

(PV数、金額は適当です)

巷で言うところのPV課金と呼ばれる仕組みですね。PV課金の仕組みを採用している代表的なものとしては、アクセス解析などが挙げられます。サイトのPV数に応じて、課金する金額が増減するような「PV課金型のサービス」ですね。「PV課金型のサービス」は、一般的には表示される回数が多ければ多いほど、請求される金額が上がると思います。

そこで、今回やることはこういうことです

というわけでして、プレビュー画面(未公開モード)で意図しないPV数をカウントさせたくはないですね。仮にそれが微々たるものだとしても、塵も積もれば・・・という考えが私にはあります。また、PV数の整合性も疑わざるを得なくなります。要は正確なデータを収集しようぜ、ということですね。

なので、プレビュー画面(未公開モード)でページを表示した場合は、正確なPV数をカウントさせるために(一般公開のPV数をカウントさせるため)

「スクリプトを読み込まない→PV数をカウントしない」方法をとりたいとおもいます。

プレビュー画面(未公開モード)の条件分岐は「is_preview()」

WordPressの条件分岐タグを使います。条件分岐タグ – WordPress Codex 日本語版

を参考にして「is_preview()」を使います。is_preview()は、

未公開モードで固定リンクページを表示している場合。

とありますので、今回の件にピッタリです。さっそく使いましょう。

サンプル

カンタンな例ですと、

<?php
if( !is_preview() ){
一般公開ページを表示した場合のみ、実行するスクリプトを書く
}
?>

って感じです。「!is_preview()」と頭に「!」を入れていますので、否定ですね。

プレビュー画面を表示している時は読み込まないようになります。

ここでもう一歩進んで、別の使い方を考える・・・

「is_preview()」の別の使い方としては、「プレビュー画面(未公開モード)の時だけ表示したい」そんな場合も、あるとおもいます。例えば、こんな使い方ですね。

<?php
if( is_preview() ){
 echo "これはプレビュー画面ですよ。内容をしっかり確認してから「公開」してくださいね!";
}
?>

などですかね。「今見ている画面はプレビュー画面ですよ」と、認識してもらうためにこのプログラムを書く、など。

WEB制作を仕事とされる方で、WordPressの管理画面を丸ごと渡して納品する場合。近頃では、よくある例だとおもいますが、使用される方々、みなさんPC操作スキルは違いますよね。運良く(運悪く・・・?)ホームページ更新の担当になってしまった方にとっては、PCの電源の入れ方だって、マウスの操作だって慣れていない方も多くいらっしゃるので、こういった「目に見える親切設計」はいくらか需要があるのではないか、と思います。

まとめ

繰り返しになるかもしれませんが、WordPressで最もよく使うであろう機能としては、「記事や固定ページの管理」が多いとはおもうんですが、お客さん側のPCスキルを考慮したカスタマイズも必要だな、なんて思っています。なるべく感覚的に理解して操作できるように、WordPress側であらかじめカスタマイズしておいたほうがよい場合もある、と私は思います。

ちょっとした施策をしておくだけで、お客さんから「助かるねぇ~」と言われるのであれば、私は嬉しいことじゃないかと思っています。長くなりましたが、WordPressでプレビュー画面(未公開モード)かどうか条件分岐をしたい方や、無駄に自分でPV数をカウントしたくないスクリプトを設置している方など、ご参考いただけますと、とても幸いです。

著者:bouya Imamura