質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

1回答

3635閲覧

WordPressコメントで承認待ちが表示されない

lenlen

総合スコア44

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2017/03/07 05:52

編集2017/03/07 06:22

WordPressサイトでコメント機能を実装しています。

comments.phpを少しカスタマイズしているのですが、
ログインしていない状態だと「あなたのコメントは承認待ちです」というテキストが表示されません。。
ログインしている状態だと上記のテキストと共にコメントが表示されるのですが。。

ログインしていない状態でも承認待ちのコメントが当人のブラウザのみ表示されるようにしたいです。

【追記です】
メールアドレスが入力されていないと表示されないようです。
ですが、私のサイトではメールアドレスの入力フォームが無いので、今度はどうやって各個人用にメールアドレスを送信しようかと迷っています。

input hidden name="email" で隠れ送信はできそうですが、それぞれユーザーによって異なるダミーメールアドレスを送信する方法がないかと探しております。。

comments.phpの内容がこちらです。

php

1 2<?php 3if (post_password_required()) { 4 return; 5} 6?> 7 8<?php if (have_comments()) : ?> 9 <ul> 10 <?php wp_list_comments(array( 11 'style' => 'ul', 12 'type' => 'comment', 13 'callback'=>'my_comment' 14 )); ?> 15 </ul> 16 17<?php if (get_comment_pages_count() > 1) : ?> 18 <ul id="comments-pagination"> 19 <li id="prev-comments"><?php previous_comments_link('&lt;&lt; 前のコメント'); ?></li> 20 <li id="next-comments"><?php next_comments_link('次のコメント &gt;&gt;'); ?></li> 21 </ul> 22<?php endif; endif; ?> 23

コールバックで呼んでいるmy_commentの内容(functions.phpの記述)

php

1 2 3function my_comment($comment, $args, $depth) { 4 $GLOBALS['comment'] = $comment; ?> 5 <li <?php comment_class(); ?> id="comment-<?php comment_ID(); ?>"> 6 <div class="meta"> 7 <span class="date"><time datetime="<?php echo get_comment_date('c'); ?>"><?php echo get_comment_date('Y.m.d').' ', get_comment_time('H:i'); ?></span> 8 <span class="name"><?php echo get_comment_author_link(); ?></span> 9 <?php comment_reply_link(array_merge( $args, array('depth' => $depth, 'max_depth' => $args['max_depth']))) ?> 10 </div> 11 <div class="body"><?php comment_text() ?></div> 12 <?php if ( '0' == $comment->comment_approved ) : ?> 13 <div class="unapproved"><em class="comment-awaiting-moderation"><?php _e( 'Your comment is awaiting moderation.' ) ?></em></div> 14 <?php endif; ?> 15<?php 16 } 17 18function my_comment_form_fields( $fields){ 19 unset( $fields['author']); 20 unset( $fields['email']); 21 unset( $fields['url']); 22 return $fields; 23} 24add_filter( 'comment_form_default_fields', 'my_comment_form_fields'); 25

同じくfunctions.phpにコメントフォームの内容をカスタムしています。

php

1 2add_filter( "comment_form_defaults", "my_comment_form_defaults"); 3function my_comment_form_defaults($defaults){ 4 $defaults['comment_field'] = '<input type="text" id="author" name="author" placeholder="名前"><textarea id="comment" name="comment" aria-required="true" placeholder="コメント内容"></textarea>'; 5 return $defaults; 6} 7remove_filter( 'comment_text', 'make_clickable', 9); 8

ご教授頂けると幸いです。
情報の不足分などございましたらなんなりとご指南くださいませm(__)m

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

ログインしていない状態だと「あなたのコメントは承認待ちです」というテキストが表示されません。

当然そうなります。WordPress側に「アクセスした人間が誰かを確認する手段」がログイン以外無いからです。

投稿2017/03/07 10:00

kei344

総合スコア69398

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

lenlen

2017/03/10 01:49

有難うございます! 確かによく考えればそうでした。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問