最も必要とされている時に、信頼できるWordPressチュートリアルを。
WordPress入門ガイド
WPBカップ
2500万人以上
当社のプラグインを使用しているウェブサイト
16+
WordPress経験年数
3000+
専門家によるWordPressチュートリアル

WordPressクッキーの設定、取得、削除方法(プロのように)

かつて、私たちのサイトの1つでユーザーログインやショッピングカートが失敗し続けるという、イライラする問題に直面しました。その問題は、私たちが見落としていたこと、つまりサイトがCookieをどのように管理していたかでした。

Cookieのような技術的な設定を扱うことは intimidating に感じられるかもしれませんが、それらを正しく設定することは、スムーズなユーザーエクスペリエンスの鍵となります。私たち自身のCookieの問題を解決した後、誰でも従うことができる簡単なシステムを開発しました。

このガイドでは、WordPressでCookieを設定、取得、削除するために使用する正確な手順を共有します。プロセスを分解して、サイトのCookieを自信を持って管理できるようにします。

WordPressクッキーの設定、取得、削除方法(プロのように)

注意: これは高度なチュートリアルです。HTML、CSS、WordPressサイト、PHPに関する十分な知識が必要です。

Cookieとは何ですか?

Cookieは、ユーザーがウェブサイトを訪問した際に、ユーザーのブラウザに作成・保存されるプレーンテキストファイルです。Cookieを使用すると、WordPressウェブサイトにさまざまな機能を追加できます。

クッキーの一般的な使用例をいくつかご紹介します。

  • ユーザーのログイン情報を保存および管理する
  • ユーザーの訪問中に一時的なセッション情報を保存する
  • eコマースストアへのユーザーの訪問中にカートアイテムを記憶する
  • パーソナライズされたユーザーエクスペリエンスを提供するために、サイト上のユーザーアクティビティを追跡する

Cookieはウェブサイト所有者にとって強力なツールですが、プライバシーに関する懸念を引き起こす可能性があります。現代のマーケティング手法、例えばEメールマーケティング、グロースハック、デジタル広告などは、Cookieをトラッキングビーコンとして使用し、複数のウェブサイトを横断してユーザーのアクティビティを収集・共有することがよくあります。

このため、欧州連合はEU Cookie法を制定し、ウェブサイト所有者に情報の保存にCookieを使用することを宣言することを義務付けました。多くのサイトでは基本的な通知を表示するだけですが、真のGDPRコンプライアンスには、Cookieの同意とトラッキングスクリプトの積極的な管理が必要です。

WPConsentを使用すると、WordPressサイトに完全に準拠したCookie同意システムを簡単に導入できます。このプラグインは、訪問者が許可を与えるまでトラッキングスクリプトを積極的にブロックすることで、基本的な通知を超えた機能を提供します。

WPConsentで作成されたクッキーポップアップ

WPConsentでクッキー同意バナーを作成するのは簡単です。事前に作成されたテンプレートを選択し、サイトに合わせてデザインをカスタマイズして、プラグインに訪問者の同意管理をすべて自動的に処理させることができます。

この方法は、GDPR/CCPA向けCookieポップアップの追加方法に関するガイドで、ご自身のサイトでどのように行うかを学ぶことができます。

通常のWordPressウェブサイトでのクッキーの使用方法

デフォルトでは、WordPressはCookieを使用して、ログイン中のユーザーセッションと認証を管理し、コメントフォームに入力した場合にユーザーの名前とメールアドレスを記憶します。

しかし、ウェブサイト上の多くのWordPressプラグインも、独自のCookieを設定する場合があります。

例えば、OptinMonsterは、新規訪問者とリピーターに異なるEメールオプトインフォームを表示することを可能にし、それはCookieを使用して行われます。

ウェブサイトでGoogle AnalyticsGoogle AdSenseのような外部ウェブサービスを使用している場合、それらもウェブサイトにサードパーティCookieを設定する可能性があります。

ブラウザの設定で、すべてのウェブサイトのCookieを表示できます。たとえば、Google Chromeでは、まず設定ページを開く必要があります。

右上の「3つの点」アイコンをクリックして「設定」を選択するか、アドレスバーにchrome://settingsと入力することで、これを行うことができます。

Google Chromeのサイト設定

設定ページで、左側のメニューにある「プライバシーとセキュリティ」をクリックします。

次に、「プライバシーとセキュリティ」の下にある「サードパーティCookie」を探してクリックします。

Chrome設定のCookieセクション

これはクッキー設定ページを開きます。

次に、「すべてのサイトデータと権限を表示」オプションをクリックする必要があります。

すべてのCookieとサイトデータを表示

次のページには、訪問したすべてのウェブサイトがブラウザに保存しているクッキーとサイトデータのリストが表示されます。

検索ボックスにウェブサイトのアドレスを入力すると、そのウェブサイトによって保存されているデータが表示されます。

サイトクッキーを表示

個々のアイテムをクリックすると、個々のクッキーとその内容に関する詳細が表示されます。

WordPressでクッキーを設定する方法

このチュートリアルに従うには、テーマのfunctions.phpファイルにコードを追加するか、WPCodeのようなコードスニペットプラグインを使用する必要があります。これを行ったことがない場合は、WordPressでコードスニペットをコピー&ペーストする方法に関するガイドをご覧ください。

まず、PHPsetcookie()関数を使用します。この関数は次のパラメータを受け取ります:

  • クッキー名
  • Cookieの値
  • 有効期限 – オプションで、クッキーが無効になるまでの期間を設定します
  • パス – オプションで、デフォルトでサイトのルートが使用されます
  • ドメイン – オプションで、デフォルトでウェブサイトのドメインを使用します
  • セキュア – オプションで、true の場合のみ HTTPS 経由で Cookie データを転送します
  • httponly – オプションで、trueに設定すると、クッキーはHTTP経由でのみアクセス可能になり、スクリプトで使用できなくなります

さて、WordPress サイトにコードスニペットを追加しましょう。このコードは、ユーザーがあなたのウェブサイトを訪問した正確なタイムスタンプを Cookie に保存します:

function wpb_cookies_tutorial1() { 

$visit_time = date('F j, Y  g:i a');

if(!isset($_COOKIE[wpb_visit_time])) {

// set a cookie for 1 year
setcookie('wpb_visit_time', $visit_time, time()+31556926);

}

} 

これで、ウェブサイトにアクセスしてブラウザのクッキーを確認できます。wpb_visit_timeという名前のクッキーが見つかるはずです。

WordPressでCookieを取得して使用する方法

ユーザーのブラウザに1年間保存されるこのCookieを作成したので、この情報をウェブサイトでどのように使用できるかを見てみましょう。

Cookieの名前がわかっている場合は、$_COOKIE[]変数を使用してPHPのどこからでも簡単に呼び出すことができます。Cookieを設定し、それを使用してウェブサイトで何かを行うコードを追加しましょう。

function wpb_cookies_tutorial2() {
// Time of user's visit
$visit_time = date('F j, Y g:i a');

// Check if cookie is already set
if(isset($_COOKIE['wpb_visit_time'])) {

// Do this if cookie is set
function visitor_greeting() {

// Use information stored in the cookie
$lastvisit = $_COOKIE['wpb_visit_time'];

$string .= 'You last visited our website '. $lastvisit .'. Check out whats new'; 

return $string;
}	

} else { 

// Do this if the cookie doesn't exist
function visitor_greeting() {
$string .= 'New here? Check out these resources...' ;
return $string;
}	

// Set the cookie
setcookie('wpb_visit_time',  $visit_time, time()+31556926);
}

// Add a shortcode
add_shortcode('greet_me', 'visitor_greeting');

}
add_action('init', 'wpb_cookies_tutorial2');

コード内のコメントで、各部分が何をするかを示しています。このコードは、Cookieに保存された情報を使用し、ショートコードを使用して出力します。

これで、ウェブサイトのどこにでもショートコード [greet_me] を追加でき、ユーザーが最後に訪問したときに表示されます。

コードを自由に修正して、ウェブサイトでより役立つものにしてください。例えば、リピーターには最近の投稿を、新規ユーザーには人気の投稿を表示することができます。

WordPressでクッキーを削除する方法

これまで、クッキーの設定方法とその後のウェブサイトでの使用方法を学びました。次に、クッキーの削除方法を見てみましょう。

クッキーを削除するには、コードに次の行を追加する必要があります。

unset($_COOKIE['wpb_visit_time']);

削除しようとしているクッキーの名前にwpb_visit_timeを置き換えるのを忘れないでください。

上記と同じサンプルコードを使用して、このコードを文脈に当てはめてみましょう。今回は、Cookie を削除して新しい情報で再度設定します:

function wpb_cookies_tutorial2() {
// Time of user's visit
$visit_time = date('F j, Y g:i a');

// Check if cookie is already set
if(isset($_COOKIE['wpb_visit_time'])) {

// Do this if cookie is set
function visitor_greeting() {

// Use information stored in the cookie
$lastvisit = $_COOKIE['wpb_visit_time'];

$string .= 'You last visited our website '. $lastvisit .'. Check out whats new'; 

// Delete the old cookie so that we can set it again with updated time
unset($_COOKIE['wpb_visit_time']); 

return $string;
}	

} else {
// Do this if the cookie doesn't exist
function visitor_greeting() {
$string .= 'New here? Check out these resources...' ;
return $string;
}
}
add_shortcode('greet_me', 'visitor_greeting');

// Set or Reset the cookie
setcookie('wpb_visit_time',  $visit_time, time()+31556926);
}
add_action('init', 'wpb_cookies_tutorial2');

ご覧のとおり、このコードは格納されている情報を使用した後、クッキーを削除します。その後、更新された時間情報でクッキーを再度設定します。

WordPressのCookieに関するよくある質問

WordPressでCookieを設定、取得、削除する際の最も一般的な質問に対する回答を以下に示します。

1.ウェブサイトのCookieとは何ですか?

ウェブサイトのCookieは、訪問者のウェブブラウザに保存される小さなテキストファイルです。特定のウェブサイトに関する情報を保存および取得するために使用され、ユーザーのログイン状態を記憶したり、ショッピングカートに商品を入れたり、エクスペリエンスをパーソナライズしたりします。

2. WordPressのCookieはサイトにとって悪いですか?

いいえ、Cookieは本質的に悪いものではありません。ユーザーログインの管理やコメント投稿者の情報の記憶など、多くのコアWordPress機能に不可欠です。しかし、ユーザーアクティビティを追跡できるため、プライバシーに関する懸念を引き起こし、それがGDPRのような規制が存在する理由です。

3.WordPressでCookie同意通知を表示する必要がありますか?

ウェブサイトに、欧州連合のGDPRのようなプライバシー法を持つ国の訪問者がいる場合、ほとんどの種類のCookieを保存する前にユーザーの同意を得る必要があります。WPConsentのようなプラグインを使用することは、コンプライアンスを確保する簡単な方法です。

4.私のウェブサイトが使用しているCookieを確認するにはどうすればよいですか?

ウェブサイトが使用するすべてのCookieは、ブラウザの開発者ツールまたは設定で直接表示できます。たとえば、Google Chromeでは、設定 » プライバシーとセキュリティ » サードパーティCookieに移動し、「すべてのサイトデータと権限を表示」をクリックすると、訪問したサイトのCookieを検査できます。

WordPressでクッキーを使用するための追加リソース

この記事が、WordPressのクッキーを簡単に設定、取得、削除する方法を学ぶのに役立ったことを願っています。WordPressでクッキーを使用することに関連する他のガイドも参照することをお勧めします。

この記事が気に入った場合は、WordPressのビデオチュートリアルのために、YouTubeチャンネルを購読してください。また、TwitterFacebookでも私たちを見つけることができます。

開示: 当社のコンテンツは読者によってサポートされています。これは、一部のリンクをクリックすると、手数料が発生する可能性があることを意味します。WPBeginnerがどのように資金調達されているか、なぜそれが重要なのか、そしてどのように私たちをサポートできるかを確認してください。こちらが当社の編集プロセスです。

究極のWordPressツールキット

無料のツールキットにアクセスしましょう - すべてのプロフェッショナルが持つべきWordPress関連の製品とリソースのコレクションです!

読者とのインタラクション

20 CommentsLeave a Reply

  1. こんにちは、ファイルをテーマフォルダのfunctions.ファイルに入れて保存するかどうか理解できませんでした

  2. 非常に役立ち、情報量の多い記事でした。ありがとうございます。
    unset を使用しただけではクッキーが削除されないようだったので、クッキーの有効期限を過去の日付に設定する必要がありました。例:
    setcookie(‘wpb_visit_time’, $visit_time, time()-1);

    • 同じ問題に遭遇する可能性のある方のために、共有していただきありがとうございます。

      管理者

  3. 問題は、このようなコードを実装すると、WordPressで警告エラーが発生し、クッキーが失敗することです。

    警告: ヘッダー情報を変更できません – ヘッダーは既に送信されています (出力が開始されました

    どうすればそれを回避できますか?

  4. ユーザーが一度だけページを訪問するようにクッキーを使用するにはどうすればよいですか?

  5. 素晴らしいチュートリアルをありがとうございます!

    小さな間違い:最初のコードスニペットの$wpb_visit_timeは「wpb_visit_time」であるべきです

  6. こんにちは、最初の例のコードにエラーがあるようです。

    function wpb_cookies_tutorial1() { $visit_time = date(‘F j, Y g:i a’); if(!isset($_COOKIE[$wpb_visit_time])) { // set a cookie for 1 year setcookie(‘wpb_visit_time’, $current_time, time()+31556926); } }

    変数は$visit_timeとして指定していますが、setcookie関数では$current_timeを呼び出しています。

    ガイドをありがとうございます。非常に役立ちます。

  7. あなたの記事はとても参考になりますが、コーディングをよく理解する必要があるので、お伺いしたいのですが、
    ここに表示されているコードはすべてコピー&ペーストする必要がありますか?
    wbp_visit_time、wbp_cookies_tutorial は自分のサイトの名前に置き換えるのですか?

  8. ウェブサイトを検索エンジンで検索しようとすると、常に「ウェブサイトは信頼できません」と表示される理由がわかりません。
    どうしたのでしょうか?すべてのブラウザと検索エンジンに私のウェブサイトを信頼してもらうにはどうすればよいですか?

  9. このスレッドを掘り起こしてしまい申し訳ありませんが、助けが必要です。
    私のサイトの最初のページでは、お客様に地域を選択していただきます。利用可能な製品は、選択した場所によって異なります。
    ホームページにアクセスするたびに、この場所を再選択してほしくありません。
    何かアドバイスはありますか?

    • eコマースプラグインのサポートに連絡して、ユーザーのためにそれを設定する方法があるかどうかを確認する必要があります。

      管理者

  10. 素晴らしい記事です。コードをfunctions.phpファイルに入れるように書かれていました。WP Elementorを使用していますが、ユーザーが特定のページにアクセスしたときにのみクッキーの値を取得する必要があります。このコードを特定のページに追加できますか?ユーザーがフォームを初めて完了したときに、特定の Сookie を作成したいと考えています。その後、次回このページに戻ってきたときに、Сookie データからフォームが自動的に入力されるようにしたいです。これにより、再訪問時の入力フィールドが少なくなります。

    • そのためには、使用しているフォームプラグインに連絡して、すでに設定されているシステムがあるかどうかを確認する必要があります。

      管理者

    • コードをfunctions.phpに追加し、WordPress関数「is_page()」を使用して、Cookieコードスニペットに条件付きロジックを追加できます。

      is_page()関数は、ページID、スラッグ、または名前/タイトルを受け入れます。使い方は非常に簡単で、WordPressのCodexでis_page()関数について詳しく読むことができます。

Leave A Reply

コメントいただきありがとうございます。すべてのコメントは、コメントポリシーに従ってモデレーションされ、メールアドレスは公開されません。名前フィールドにキーワードを使用しないでください。個人的で意味のある会話をしましょう。