サポート » 使い方全般 » 突然、コメント投稿欄が消えた

  • 解決済 minomushi

    (@minomushi)


    突然ですが、ブログ内のコメント投稿欄が消えてしまい、
    その箇所に 
    Comments are closed.
    という文字が出るようになりました。
    しかし、現時点でコメントを1件でも頂いている記事では、従来通りコメント投稿欄が
    表示されており、コメントも出来る状態です。
    コメントが1件も頂いていない記事のみが、上記のような文字が出て
    コメント投稿欄が表示されません。

    ディスカッションの設定も確認しましたが、特に問題はなく、コメントやピンバックを
    受け付けるように✔が入っています。

    なにが原因なのかがわからなく困っております。
    どなたか何か心当たりがございましたら、ご教授お願い致します。

7件の返信を表示中 - 1 - 7件目 (全7件中)
  • テーマの中のcomments.phpはどうなっていますか?
    <?php _e( ‘Comments are closed.’, ‘twentyten’ ); ?>
    こんなのがあると思います
    コメントが非表示になっている時に表示されているんですが
    コメントが無い場合非表示の設定にしてませんか?
    コメントが無い場合どうしたいのかにもよるのですが
    ↑のComments are closed.を消せばとりあえずは表示されなくなると思います

    トピック投稿者 minomushi

    (@minomushi)

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

    ご指摘のあった部分ですが、

    <?php else : // comments are closed ?>
    		<!-- If comments are closed. -->
    		<p class="nocomments">Comments are closed.</p>

    のように記述されています。

    この部分を削除すると、確かにComments are closed.という文字は出てこなくなるのですが、
    コメント投稿欄を表示する事は出来ませんでした。

    念の為、デフォルトテーマに変更して確認してみましたら
    全く同じような症状になりました。

    という事は、テンプレートファイルに問題があるのではなく、
    何か他の部分かなと素人ながら思うのですが、まったくわかりません。

    プラグインも疑い、最近入れたプラグインを無効にもしてみましたが改善されない状況です。

    少し気になるのが、RSSfeedの取得数をダッシュボードに表示するプラグインを入れたのですが、
    どうもうまく作動しなかった為、FTPからプラグインを外したら、ダッシュボード内に一度だけエラーが出ました。(このプラグインが見つからない伝々・・・)
    そのあたりから、コメント表示がおかしくなったような気がする(あくまでも気のせいかも)のですが、feedとコメントが関係しているとは考えにくいかなとも思っています。

    本当に困りました。

    elseと書かれているのですが条件式も見せてもらえないでしょうか?
    プラグインか何かで書き変わってるような感じがするのですが・・・?
    (もしくは自ら書き変えたり?)

    トピック投稿者 minomushi

    (@minomushi)

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

    一応、coments.phpを全コピしてみました。

    <?php
    
    // Do not delete these lines
    	if (!empty($_SERVER['SCRIPT_FILENAME']) && 'comments.php' == basename($_SERVER['SCRIPT_FILENAME']))
    		die ('Please do not load this page directly. Thanks!');
    
    	if ( post_password_required() ) { ?>
    		<p class="nocomments">This post is password protected. Enter the password to view comments.</p>
    	<?php
    		return;
    	}
    ?>
    
    <!-- You can start editing here. -->
    
    <?php if ( have_comments() ) : ?>
    
    	<ul class="commentlist">
    	<?php wp_list_comments('callback=mytheme_comment'); ?>
    	</ul>
     <?php else : // this is displayed if there are no comments so far ?>
    
    	<?php if ('open' == $post->comment_status) : ?>
    		<!-- If comments are open, but there are no comments. -->
    
    	 <?php else : // comments are closed ?>
    		<!-- If comments are closed. -->
    		<p class="nocomments">Comments are closed.</p>
    
    	<?php endif; ?>
    <?php endif; ?>
    
    <?php if ('open' == $post->comment_status) : ?>
    
    <div id="respond">
    
    <h2 id="commentsForm"><?php comment_form_title( '', 'Leave a comment to %s' ); ?></h2>
    
    <div class="cancel-comment-reply">
    	<small><?php cancel_comment_reply_link(); ?></small>
    </div>
    
    <?php if ( get_option('comment_registration') && !$user_ID ) : ?>
    <p>You must be <a href="<?php echo get_option('siteurl'); ?>/wp-login.php?redirect_to=<?php echo urlencode(get_permalink()); ?>">logged in</a> to post a comment.</p>
    <?php else : ?>
    
    <form action="<?php echo get_option('siteurl'); ?>/wp-comments-post.php" method="post" id="commentform">
    
    <?php if ( $user_ID ) : ?>
    
    <p>Logged in as <a href="<?php echo get_option('siteurl'); ?>/wp-admin/profile.php"><?php echo $user_identity; ?></a>. <a href="<?php echo wp_logout_url(get_permalink()); ?>" title="Log out of this account">Log out &raquo;</a></p>
    
    <?php else : ?>
    
    <p><label for="author">お名前<?php if ($req) echo "(required)"; ?></label>
    <input type="text" name="author" id="author" value="<?php echo $comment_author; ?>" size="22" tabindex="1" <?php if ($req) echo "aria-required='true'"; ?> />
    </p>
    
    <p><label for="url">Website</label>
    <input type="text" name="url" id="url" value="<?php echo $comment_author_url; ?>" size="22" tabindex="3" />
    </p>
    
    <?php endif; ?>
    
    <!--<p><small><strong>XHTML:</strong> You can use these tags: <code><?php echo allowed_tags(); ?></code></small></p>-->
    
    <p><label for="comment">Comment</label>
    <textarea name="comment" id="comment" cols="100%" rows="10" tabindex="4"></textarea></p>
    
    <p>
    <input name="submit" type="submit" id="submit" tabindex="5" value="" />
    <?php comment_id_fields(); ?>
    </p>
    <?php do_action('comment_form', $post->ID); ?>
    
    </form>
    
    <?php endif; // If registration required and not logged in ?>
    </div>
    
    <?php endif; // if you delete this the sky will fall on your head ?>

    どうぞ宜しくお願い致します。

    こんにちは。

    $post->comment_statusがclosedになっているんでしょうが、これがclosedになるということは、何らかの原因で投稿や固定ページの編集画面(エディター)で、「ディスカッション」の項目のチェックが外れている可能性が高いのではないかと思います。

    「ディスカッション」の項目が見当たらない場合は、画面上の「表示オプション」をクリックして、まず、表示させて下さい。

    トピック投稿者 minomushi

    (@minomushi)

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

    ダッシュボード上のディスカッションの設定や各記事投稿画面での
    ディスカッションの設定も問題ない状態でしたので、八方塞がりになっておりました。

    いろいろやってみましたが、どうも解決策が見いだせませんでしたので、急がばまわれで
    WordPress本体を再インストールし直しました。
    その後、いままで利用していたテーマを適用させたところ、今度は問題なく
    コメント投稿フォームも表示されるようになりました。

    結局、原因はわからずじまいとなってしまいましたが、
    テーマを変更しても、プラグインを全て無効にしても駄目だったという事は、
    やはり、もっと奥まったところで何か支障が出ていたのではないかと考えております。

    いづれにしましても、いろいろご教授してくださった方々には感謝致します。

    この度はありがとうございました。

    だいぶ遅くなりましたが・・・

    <?php if ( have_comments() ) : ?>
    
    	<ul class="commentlist">
    	<?php wp_list_comments('callback=mytheme_comment'); ?>
    	</ul>
    <?php else : // this is displayed if there are no comments so far ?>
    
    	<?php if ('open' == $post->comment_status) : ?>
    		<!-- If comments are open, but there are no comments. -->
    
    	 <?php else : // comments are closed ?>
    		<!-- If comments are closed. -->
    		<p class="nocomments">Comments are closed.</p>
    
    	<?php endif; ?>
    <?php endif; ?>

    上記のような記述があったのですが覚えはありませんか?
    とりあえず非表示のところだけ説明します
    “have_comments”はコメントがあるかどうか調べる命令です
    あればtrueなければfalseが帰ってきますがコメントが無いのでelseへ・・・
    そしてcomment_statusを調べています極端に”open”かどうかのみですね
    comment_statusはコメント許可の設定を見に行くのですが

    ‘open’: 許可、’closed’: 不許可、’registered_only’: 登録ユーザのみ

    …のいずれかが返却されます
    “open”かどうかの二択なので不許可や登録ユーザーのみでは弾かれます
    おそらく登録ユーザーのみコメント許可してませんか?
    解決したのなら解決済みにお願いしますね

    追記:
    よくよく見れば同じような記述がcomments.php内にいくつか見られました
    comments.phpが書き変わっていたために起きたみたいですね

7件の返信を表示中 - 1 - 7件目 (全7件中)
  • トピック「突然、コメント投稿欄が消えた」には新たに返信することはできません。