コメント承認制のWordPressサイトに「コメント受付ページ」を実装する手順を解説

当サイトのリンクには広告を含みます。

こんにちは。えいこです。

WordPressサイトにて、コメント送信後に「コメントを受け付けました。ありがとうございます!」というサンキューページにリダイレクトさせるカスタマイズ手順を解説します。スパム対策としてコメントを承認制にされているサイトにおすすめです。

当サイト使用テーマ「SWELL」で動作確認しています。

この記事を書いた人

  • WordPressサイトを2つ運営中
  • Googleアドセンスの合格実績あり
  • アフィリエイトにて最高月収5桁達成

目次

コメント受付(ありがとう)ページとは

当サイトはコメント欄を名前とコメントのみに減らし、コメントのみを必須項目としています。つまり訪問者が気軽にコメントしやすい状態にしています。

このカスタマイズはこちらのサイトで紹介されている手順で実施しています。

コメント承認制のときにあると親切

必須項目を減らすとスパムが気になるので、当サイトはコメントを手動承認制にしています。ただし承認制だとコメント送信しても即時反映されないので、「あれ?送信失敗?」と思われるかもしれません。

そのため当サイトでは、コメント送信後に「コメントを受け付けました。ありがとうございます!」というサンキューページに遷移するようにしています。

作成手順

基本は下記の2ステップでできます。

カスタマイズ前、特にfunction.phpを編集する際は必ずバックアップを取ってください。

STEP
「コメント受付ページ」を作成

固定ページにて作成します。

STEP
function.phpを編集

投稿ボタンタップ時に受付ページに遷移するように記述を追加します。

前のページに戻るリンクの追加手順

当サイトは受付ページにて「前のページに戻るリンク」をPHPで実装しているので、下記手順を追加しています。

STEP
PHPファイルを作成してアップロード

前のページに戻るボタンを表示するプログラムをPHPで作成して、ファイルマネージャでサーバーのテーマフォルダに入れます。

STEP
function.phpを編集

投稿及び固定ページでPHPファイルをショートコードで呼び出せるように記述を追加します。

STEP
「コメント受付ページ」を編集

前のページに戻るリンクを表示するプログラムを呼び出すためにショートコードを追加します。

基本のコメント受付ページ作成手順

「コメント受付ページ」を作成

下記のような固定ページを作成します。このページのパーマリンクを次で使います。

【重要】function.phpを編集する前に

function.phpとは、WordPressテーマに必須のファイルのひとつです。編集でミスをしてしまうと、最悪WordPressが表示されなくなることもある、とても重要なファイルです。

「Code Snippets」というプラグインを使用すると、編集ミスを極力抑えることができます。私も直接編集に苦手意識があるので使っています。

プラグイン使用有無にかかわらず、編集の際は必ずバックアップを取るようにしてください。

function.phpを編集

下記のコードをfunction.phpに記述すると、コメント送信後に受付ページに遷移するようになるはずです!

function redirect_after_comment () {
	wp_redirect('https://●●●.com/サンキューページパーマリンク');
	exit();
}
add_filter('comment_post_redirect', 'redirect_after_comment');

Code Snippetsで追加するとこんな感じです。

前のページに戻るリンクの追加手順

コメント受付ページから前のページに戻りたい人もいると思います。ここでブラウザバックすると送信済みのコメントが残っていてややこしく感じたので、直前に訪れたページのリンクを表示させることにしました。

PHPファイルを作成してアップロード

javascriptでは思った通りのプログラムが組めなかったので、PHPで実装することにしました。

メモ帳を開いて下記コードを記述し、例えば「wp-thankyou.php」などの名前で保存します。元々ある.phpファイルと同じ名前でなければOKです。

<?php
$hostname = $_SERVER['HTTP_HOST'];//ドメインを取得
if (!empty($_SERVER['HTTP_REFERER']) && (strpos($_SERVER['HTTP_REFERER'],$hostname) !== false)) {
	echo '<a href="' . $_SERVER['HTTP_REFERER'] . '">戻る</a>';
}
?>

完成したファイルは、ファイルマネージャからテーマフォルダにアップロードしてください。私はスターレンタルサーバー(≒エックスサーバー)を使っているのでこんな感じです。

私はSWELLの子テーマフォルダに「myphpfiles」という名前のフォルダを新規作成して、そこに入れました。親テーマに入れるとアップデートで消えて正常に動かなくなります(経験あり…)。

function.phpを編集

投稿及び固定ページでPHPファイルをショートコードで呼び出せるように記述を追加します。

「コメント受付ページ」を編集

サンキューページにショートコードを追加します。

これで戻るリンクもつきました!コメントしたページに飛ぶようになっているはずです。

まとめ

以上の手順でコメント受付ページを実装することができるはずです。もし間違いがあればご指摘いただけると助かります。

WordPressに元々用意されているフィルターフック「comment_post_redirect」を利用しているのでSWELL以外のテーマでも動作すると思いますが、情報があれはコメント欄で教えてくださると嬉しいです。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

WordPressのことなら「わぷや」におまかせ!を目指して、サイト運営・収益化・カスタマイズ方法を勉強中です。本サイトとは別に、Googleアドセンス合格済のWordPressサイトも運営しています。どんぐり好きです。

コメント

コメントする

目次