• 解決済 urashin

    (@urashin)


    記事を投稿したときに、画面の下側に<?php comments_template(); ?>を使って
    コメントフォームを表示するようにしているのですが、
    突然コメントフォームが表示されなくなりました。

    いろいろ調べてみますと、コメントフォームが突然表示されなくなる人は多いみたいですが、
    私の場合は、cssで#commentsの部分だけ表示され、中身が表示されない
    という事態が発生しています。

    コードは以下のように書いています

    comments.php

    <div id="comments">
    <?php if(have_comments()): ?>
    <h3>コメント</h3>
    <ul>
    <?php wp_list_comments('callback=mydesign'); ?>
    </ul>
    <?php endif; ?>
    <?php comment_form(); ?>
    </div>
    ​

    css

    #comments  {background-color: #FFFFFF;
      border: solid 1px #0c8bcd;
      padding: 0 18px;
      margin: 20px 0}
    
    #comments h3  {font-size: 0.875em;
      border-bottom: solid 1px #0c8bcd;
      padding-bottom: 3px;
      margin-top: 20px;
      }
    
    #comments p  {font-size: 17px;
                  font-weight: bold;}
    
    #comments p a  {color: #0c8bcd}
    
    #comments input, #comments textarea
      {display: block}

    なお、突然コメントが表示されなくなる前に投稿されていた記事に付随するコメントは
    残っています。

    コメントを表示することが出来れば教えていただきたいです。

15件の返信を表示中 - 1 - 15件目 (全15件中)
  • モデレーター gatespace

    (@gatespace)

    取り急ぎ、以下の順で確認してみてください。

    1. ダッシュボードの「コメント」にコメントが残っているかどうか

    2. ダッシュボードの設定→ディスカッション設定の「他のコメント設定」の中にある
    「 ○日以上前の投稿のコメントフォームを自動的に閉じる 」にチェックが入っているかどうか。

    3. 2.の項目でチェックが入っていなければ「問題解決のためのチェックリスト」にあるトラブルシューティングを試してください。

    トピック投稿者 urashin

    (@urashin)

    gatespaceさんご回答ありがとうございます。

    1については、残っていました

    2については、チェックはついていませんでした

    3については、チェックリストに存在するトラブルシューティングを
    順番に行ってみました。
    キャッシュの問題、ブラウザの問題、ログインとログアウトの問題を行ったところ、
    特に変化は見られませんでした。

    また、テーマをデフォルトに戻し、プラグインを無効化して一つ一つ実行しつつ、
    コメント欄が表示されるか確認してみましたが、どれも表示されませんでした。

    突然コメントが表示されなくなる前に投稿されていた記事についているコメントは
    どのトラブルシューティングを行っても、残っていました。

    何か方法などはありますでしょうか。

    モデレーター gatespace

    (@gatespace)

    ※表示されなくなったのはコメントフォームですよね?

    もう一つ確認してください。
    コメントフォームが表示されていない投稿の編集ページで「コメントを許可」にチェックが入っているかどうか。
    (個別の編集画面でも確認できますが、投稿一覧の「クイック編集」でも確認できます)

    トピック投稿者 urashin

    (@urashin)

    返信遅くなってしまいまして、申し訳ありません。

    gatespaceさんがおっしゃってくださいました「コメントを許可」を確認したところ、
    コメントが表示されていない投稿については、チェックが入っていませんでした。
    そのため、チェックを入れることで、コメントが表示されました。

    本当にありがとうございます。

    追加的に質問をしておきたいのですが、
    なぜ、突然「コメントを許可」のチェックが外れてしまったのでしょうか。
    全ての投稿に対して、常に「コメントを許可」にチェックがついている状態にしておきたいのですが、
    何か方法はありますでしょうか

    モデレーター gatespace

    (@gatespace)

    WordPressのコメントフォームの挙動ですが、

    1. 投稿毎の「コメントを許可」の有無
    2. ダッシュボード「新しい投稿へのコメントを許可する 」の有無

    が優先順位で適用されます。
    またこの場合においても「 ○日以上前の投稿のコメントフォームを自動的に閉じる 」にチェックが入っていた場合、自動でコメントフォームは表示されなくなります。

    つまり、今回のような状況の場合、投稿毎の「コメントの許可」のチェックを外さない限り、
    コメントフォームが自動で非表示になる事はありません。

    どうしてそうなったかは分かりかねますが、勝手になる物でもなさそうなので、本体に元々付いている「以外」のプラグインやテーマなども疑ってください。

    トピック投稿者 urashin

    (@urashin)

    一つ一つのプラグインの無効化や別のテーマでの投稿などを行いましたが、やはり投稿する記事にコメントは表示されず、投稿した後に自分で記事の編集画面を開き、「コメントに許可」にチェックをしないといけない状態から抜け出せなくなってしまっています。

    全ての記事にコメントがつけられる状態にしたいのですが、
    投稿するたびに、記事ごとに「コメントに許可」にチェックをするのは大変です。

    最初から投稿にチェックをつけておくというのはやはり無理なのでしょうか?

    モデレーター gatespace

    (@gatespace)

    ダッシュボードの設定→ディスカッション設定→「新しい投稿へのコメントを許可する 」にチェック。
    その下に(これらの設定は各投稿の設定が優先されます。)とあります。

    http://wpdocs.sourceforge.jp/%E7%AE%A1%E7%90%86%E7%94%BB%E9%9D%A2/%E3%83%87%E3%82%A3%E3%82%B9%E3%82%AB%E3%83%83%E3%82%B7%E3%83%A7%E3%83%B3%E8%A8%AD%E5%AE%9A

    トピック投稿者 urashin

    (@urashin)

    最初に投稿をした時に、投稿したものに「コメントを許可」にチェックがついていない状況となっています。

    各投稿の設定が優先されるのはいいのですが、投稿を初めて行った段階は、
    その記事については「コメントを許可」にチェックがついている状態であってほしいです。

    後で変更するのは問題ありません。
    ただ、最初に投稿した時に、その投稿だけ「コメントを許可」にチェックがついていないという部分で困っています。

    以前は、投稿した時に、各投稿に最初から「コメントを許可」にチェックがついていたのですが、
    現在は、ついていないため、投稿の後に投稿の編集ページへ行ってチェックをつけに行かなければなりません。

    最初から、投稿した各記事すべてに「コメントを許可」にチェックが入っている状態というのは、無理なのでしょうか?

    <?php
    function default_comments_on( $data ) {
        if( $data['post_type'] == 'post' && $data['post_status'] == 'auto-draft' ) {
            $data['comment_status'] = 'open';
            $data['ping_status'] = 'open';
        }
        return $data;
    }
    add_filter( 'wp_insert_post_data', 'default_comments_on' );
    ?>

    このコードを、functions.phpに貼り付けてみて、どうですか?
    (既存のコメントのチェックが外れたものは、手動で直してください)
    ディスカッションの項目にチェックが入ってれば、投稿にもチェックが入り、そうでなければ、入らないというのが普通の動作だと思いますが

    <div id="comments">
    <?php if(have_comments()): ?>
    <h3>コメント</h3>
    <ul>
    <?php wp_list_comments('callback=mydesign'); ?>
    </ul>
    <?php endif; ?>
    <?php comment_form(); ?>
    </div>

    mydesign コールバック関数が示されていないのはなぜですか?

    モデレーター gatespace

    (@gatespace)

    ただ、最初に投稿した時に、その投稿だけ「コメントを許可」にチェックがついていないという部分で困っています。

    以前は、投稿した時に、各投稿に最初から「コメントを許可」にチェックがついていたのですが、
    現在は、ついていないため、投稿の後に投稿の編集ページへ行ってチェックをつけに行かなければなりません。

    nobitaさんも書かれていますし、先の投稿にも書きましたが、
    ダッシュボードの設定→ディスカッション設定→「新しい投稿へのコメントを許可する 」にチェックが入っていれば、新規投稿の場合「コメントを許可」にチェックが入っているはずです。
    WordPressインストール直後ならチェックの入った状態です。
    これが自動で外れるというのは考えにくい(ユーザーが自分でチェックを外して保存するしかない)のですが・・・。

    補足すると、ディスカッション設定は全ての記事共通の初期設定となりますが、コメントの許可自体はさらに投稿毎の設定が優先されます。

    ディスカッション設定でチェックが外れていても、各投稿個別で有効化できますし、
    逆にディスカッション設定でチェックしていても、各投稿個別に無効化できます。

    トピック投稿者 urashin

    (@urashin)

    nobitaさんが示してくださいましたコードをfunctions.phpに貼り付けましたが、
    ダメでした。

    mydesign コールバック関数は、以下のような感じで大丈夫でしょうか?

    function mydesign($comment, $args, $depth) {
    $GLOBALS['comment'] = $comment; ?>
    
    <li class="compost">
     :
    <?php comment_date('Y/n/j(D)'); ?> <?php comment_time('H:i:s'); ?>
     |
    <?php comment_author_link(); ?> <?php comment_author_IP($comment_ID); ?>
    
    <p class="cominfo">
    <?php comment_text(); ?>
    </p>

    ディスカッション設定は「新しい投稿へのコメントを許可する 」にチェックが入っていることを確認しているのですが、やはりコメント欄は出てこない状況で、投稿の後に個別にチェックをしないとコメントが出ないようになっています。

    mydesign コールバック関数

    関数が閉じていませんが、コピペミスですか?

    閉じタグを付けて、私の環境でお示しのコールバックのテストを行いましたが、最初に申し上げたように

    ディスカッションの項目にチェックが入ってれば、投稿にもチェックが入り、そうでなければ、入らないというのが普通の動作だと思います

    言葉どおりに動作しました

    add_filter( 'wp_insert_post_data', 'default_comments_on' );

    これも、ディスカッションの項目チェックそれぞれで、フィルタのon off テストしましたが、正常に動作します。

    なので、wo_list_commentsの動作の問題ではなく、他の要因が絡んでいる印象です。

    トピック投稿者 urashin

    (@urashin)

    プラグインやfunctions.phpの内容の変更などいろいろなことを試してみましたが、
    やはりダメでした。

    モデレーター gatespace

    (@gatespace)

    デバッグモードにした場合、エラーは出ますか?

    トピック投稿者 urashin

    (@urashin)

    返信遅くなってしまい、申し訳ありませんでした。

    ワードプレスを改めてダウンロードすることで、
    コメント欄が表示されるようになりましたので、

    いろいろとまた自分で原因を探すようにしたいと思います。

    gatespaceさんとnobitaさんには、大変失礼なことをしてしまい、
    多大なるご迷惑もおかけしてしまいました。

    本当に申し訳ありません。
    ありがとうございました。

15件の返信を表示中 - 1 - 15件目 (全15件中)
  • トピック「投稿した記事にコメント欄が表示されなくなった」には新たに返信することはできません。