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('<< 前のコメント'); ?></li> 20 <li id="next-comments"><?php next_comments_link('次のコメント >>'); ?></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
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/03/10 01:49