サポート » 使い方全般 » コメントが書き込めない

  • ローカル環境で作成したサイトをサーバーへ一括アップロードしたところ、コメントの書き込みができなくなりました。
    ダッシュボードからの書き込みはできています。

    環境は以下の通りです。
    WordPress:4.3
    サーバー:ロリポップ
    Webサーバー:Apache
    MySQL:5.1.34

    この他、必要な情報がありましたらご指摘ください。
    よろしくお願いいたします。

9件の返信を表示中 - 1 - 9件目 (全9件中)
  • 投稿の編集画面で「ディスカッション」メタボックスにある「コメントの投稿を許可する」のチェックが消えていませんか。

    トピック投稿者 abells

    (@abells)

    返信が遅くなりすみません。

    そちらのチェックはついております。
    コメント欄は表示されているのですが、コメント送信ボタンを押しても反応がないという状態です。

    テーマとプラグインは何をお使いですか。公式テーマにして、プラグインを停止しても変わりないでしょうか?

    トピック投稿者 abells

    (@abells)

    テーマは自作しています。
    Twenty Fifteenで試しましたが、そちらでは正常に書き込みができました。
    プラグインの停止はしてみましたが、問題ないようです。

    自作のテーマでは、singleページではコメント欄を使わずに、掲示板のように書き込めるページ(forums.php)にcomments.phpを呼び出しているのですが、ここに何か問題があるのでしょうか?
    以下のような構成になっています。

    — forums.php —

    <?php get_header(); ?>
     <div class="forums">
      <?php comments_template(); ?>
     </div>
    <?php get_footer(); ?>

    — comments.php —

    <div class="comment_form">
     <?php $args = array(
      --- 省略 ---
      'fields' => array(
      'author' => '<p>' . '<label for="author">' . ( 'Name' ) . ( $req ? ) . '</label> ' . '<input name="author" type="text" value="' . esc_attr( $commenter['comment_author'] ) . '" size="30"' . $aria_req . ' /></p>',
      'email' => '<p><label for="email">' . ( 'Email' ) . '</label> ' .
     '<input name="email" ' . ( $html5 ? 'type="email"' : 'type="text"' ) . ' value="' . esc_attr(  $commenter['comment_author_email'] ) . '" size="30"' . ' /></p>',
      'url' => '',
      ),
      'comment_field' => '<p>' . '<label for="comment">' . ( 'Comment' ) . '</label> ' .
     '<textarea name="comment" cols="50" rows="6" aria-required="true"' . $aria_req . ' /></textarea></p>',
      );
      comment_form( $args ); ?>
     </div>
     <div class="comment_list">
      <?php if(have_comments()): ?>
       <ul>
        <?php wp_list_comments('callback=custom_commentlist'); ?>
       </ul>
      <?php endif; ?>
    </div>

    — functions.php —

    <?php
     function custom_commentlist( $comment, $args, $depth ) {
     $GLOBALS['comment']=$comment; ?>
     <li <?php comment_class(); ?> id="li-comment-<?php comment_ID(); ?>">
      <div id="comment-<?php comment_ID(); ?>">
       <div class="comment-author">
        <?php echo get_avatar( $comment, $size='48' ); ?>
        <div class="comment-meta">
         <?php printf(__('<cite class="fn">%s</cite>'), get_comment_author_link()) ?>
         <?php if( $comment -> comment_approved == '0' ): ?>
         <em><?php _e( 'Your comment is awaiting moderation.' ) ?></em><br>
         <?php endif; ?>
         <div>
          <a href="<?php echo htmlspecialchars( get_comment_link( $comment -> comment_ID ) ) ?>"><?php printf(__('%1$s at %2$s'), get_comment_date(), get_comment_time()) ?></a><?php edit_comment_link(__('(Edit)'),' ','') ?>
         </div>
        </div>
       </div>
    
      <div class="comment_text">
       <?php comment_text() ?>
      </div>
       <div class="reply">
        <?php comment_reply_link(array_merge( $args, array( 'depth' => $depth, 'max_depth' => $args['max_depth']))) ?>
       </div>
      </div> 
    
     <?php
     }
     ?>

    この他、コメントフォームで利用できるタグを無効化するソースも書いています。

    実際のコメントフォームのhtmlソースはどうなっていますか? form要素とsubmitボタンのinput要素が正しく出力されているかの確認です。

    トピック投稿者 abells

    (@abells)

    HTMLは全て正しく出力されています。
    formのactionなどの属性も含めて、きちんと出力されていました。

    forums.phpの中でふつうのsingle.phpのようにループ(have_postsとthe_post)のコードを実行してみてはどうでしょうか。自信ありませんが…

    トピック投稿者 abells

    (@abells)

    試してみましたが、反映されませんでした…
    自分でも色々調べているのですが、原因らしい原因が思いつかず途方に暮れています…
    同じような状態になった方はいらっしゃらないでしょうか…

    トピック投稿者 abells

    (@abells)

    上記のことと関係があるのかわかりませんが、上記の他にformのinputに入力した値がクッキーに登録されない現象が起きています。
    もしかしたら、formがうまく動作していないかもと思ったのですが、出力されたHTMLやFirebugを見る限り、特に問題らしいものが見当たりません…。

    どんなことでも構いませんので、アドバイスいただければと思います。

9件の返信を表示中 - 1 - 9件目 (全9件中)
  • トピック「コメントが書き込めない」には新たに返信することはできません。