PHP

【WordPress】プレビューかどうかログイン状態かどうかで表示を変える方法

更新日:2023/09/08

WordPressで記事作成していると何度かプレビューをします。
しかしその度ににAnalyticsやAdSenseなどの外部リソースにアクセスして欲しくないことがあります。
同様にログイン状態のユーザーも、PV計測対象にしたくないなどの理由で外部リソースにアクセスして欲しくないです。

その他にも、プレビューやログイン状態等を見てWebページの表示内容を変えたいことがあります。

そこで今回は、プレビューかどうか、ユーザーがログイン状態かどうかを判定する方法をお伝えします。

 

プレビューかどうかを判定する

これから表示するWebページがプレビューモードかどうの判定は、is_preview()関数を使用します。
この関数は、プレビューモードならtrueを、プレビューモードでないならfalseを返します。

プレビューモードの時HTMLタグを出力

if ( is_preview() ){
    echo '<p>現在プレビュー中です</p>';
}

AnalyticsやAdSenseタグをプレビューモードの時に出力しないようにするときは、headタグ内で次のように記述すればいいですね。

プレビューモードでない時HTMLタグを出力

if ( !is_preview() ){
?>
    // AnalyticsやAdSenseタグを出力
<?php
}

 

ログイン状態かどうかを判定する

ユーザーがログイン状態かどうかの判定は、is_user_logged_in()関数を使用します。
この関数は、ログイン状態ならtrueを、ログイン状態でないならfalseを返します。

ログイン状態の時HTMLタグを出力

if ( is_user_logged_in() ){
    echo '<p>現在ログイン中です</p>';
}

AnalyticsやAdSenseタグをログイン状態の時に出力しないようにするときは、is_preview()と同じように記述すればいいですね。

ログイン状態でない時HTMLタグを出力

if ( !is_user_logged_in() ){
?>
    // AnalyticsやAdSenseタグを出力
<?php
}

なお、キャッシュプラグイン等を利用しているときは注意が必要です。
場合によってはログイン状態のときに生成したWebページをキャッシュして、その他大勢のページ閲覧者に公開してしまう可能性があります。

ログイン状態のときにキャッシュしないような設定があるなら設定しておけばいいですが、もしないなら止めておいた方がいいかもしれません。

WordPressはHTMやCSSの知識も必要。総合的な知識を身につけよう。

更新日:2023/09/08

書いた人(管理人):けーちゃん

スポンサーリンク

記事の内容について

null

こんにちはけーちゃんです。
説明するのって難しいですね。

「なんか言ってることおかしくない?」
たぶん、こんなご意見あると思います。

裏付けを取りながら記事を作成していますが、僕の勘違いだったり、そもそも情報源の内容が間違えていたりで、正確でないことが多いと思います。
そんなときは、ご意見もらえたら嬉しいです。

掲載コードについては事前に動作確認をしていますが、貼り付け後に体裁を整えるなどをした結果動作しないものになっていることがあります。
生暖かい視線でスルーするか、ご指摘ください。

ご意見、ご指摘はこちら。
https://note.affi-sapo-sv.com/info.php

 

このサイトは、リンクフリーです。大歓迎です。