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

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

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

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

Q&A

解決済

3回答

6887閲覧

【Wordpress】コメント欄が表示されないページがある

ShogoChicago

総合スコア38

WordPress

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

0グッド

0クリップ

投稿2016/05/10 11:00

編集2016/05/10 16:44

Wordpressでサイトの開発を行っています。
ほとんどを固定ページではなく投稿から作成しています。

###コメント欄が表示されない
一部のカテゴリーはユーザーが書き込みできるようにしています。
serviceというカテゴリーを与えているページはすべてコメント欄が表示されるようにPHPを編集しました。
このカテゴリー内のほとんどのページはコメント欄が表示されているんですが、たまに投稿機能そのものが現れないページがあります。
検証してみると、<div class="col-full">ごと存在していませんでした。

【single.php】 <?php if ( has_category( 'service' )): ?> <!--------------CommentArea---------------> <div class="col-full"> <div class="wrap-col"> <?php comments_template( ); ?> </div><!-- ^ .wrap-col END--> </div><!-- ^ .col-full END--> <!--------------CommentArea END---------------> <?php endif; ?>

###原因がわかりません
Q&Aサイトなどいろいろ検索しましたが、コメント機能作成に関するものばかりで、一部の投稿のみコメント機能が表示されないという問題はあまり見られませんでした。

もし、改善できる可能性のある案をお持ちの方はどんな情報でも構いませんのでよろしくお願いします。

###追記
single.phpです

PHP

1<?php get_header(); ?> 2 3<div class="sub-header"> 4 <!--<div class="bread"> 5 <ol> 6 <li ><a href="<?php echo home_url(); ?>"> 7 <i class="fa fa-home"></i><span>TOP</span> 8 </a></li> 9 10 <li> 11 <?php if( has_category() ): ?> 12 <?php $postcat=get_the_category(); ?> 13 <?php echo get_category_parents( $postcat[0], true, '</li><li>' ); ?> 14 <?php endif; ?> 15 <a><?php the_title(); ?></a> 16 </li> 17 18 </ol> 19 </div> --> 20 <div class="breadcrumbs"> 21 <?php if(function_exists('bcn_display')) 22 { 23 bcn_display(); 24 }?> 25 </div> 26</div> 27 28 29 30<div class="container"> 31<div class="contents"> 32 <?php if(have_posts()): while(have_posts()): 33 the_post(); ?> 34 <article <?php post_class( 'kiji' ); ?>> 35 36 <div class="kiji-tag"> 37 <?php the_tags( '<ul><li>', '</li><li>', '</li></ul>' ); ?> 38 </div> 39 40 <h1 id="pagetitle"><?php the_title(); ?></h1> 41 42 43 44 <?php the_content(); ?> 45 46 <?php wp_link_pages( array( 47 'before' => '<div class="pagination"><ul><li>', 48 'separator' => '</li><li>', 49 'after' => '</li></ul></div>', 50 'pagelink' => '<span>%</span>' 51 ) ); ?> 52 53 54 <?php if( has_category() ) { 55 $cats = get_the_category(); 56 $catkwds = array(); 57 foreach($cats as $cat) { 58 $catkwds[] = $cat->term_id; 59 } 60 } ?> 61 <?php 62 $myposts = get_posts( array( 63 'post_type' => 'post', 64 'posts_per_page' => '4', 65 'post__not_in' => array( $post->ID ), 66 'category__in' => $catkwds, 67 'orderby' => 'rand' 68 ) ); 69 if( $myposts ): ?> 70 71<?php if ( has_category( 'service' )): ?> 72<!--------------CommentArea---------------> 73<div class="col-full"> 74 <div class="wrap-col"> 75 <?php comments_template( ); ?> 76 </div><!-- ^ .wrap-col END--> 77</div><!-- ^ .col-full END--> 78<!--------------CommentArea END---------------> 79<?php endif; ?> 80 81 <aside class="mymenu mymenu-thumb mymenu-related"> 82 <h2>関連記事</h2> 83 <ul> 84 85 <?php foreach($myposts as $post): 86 setup_postdata($post); ?> 87 <li><a href="<?php the_permalink(); ?>"> 88 <div class="text"> 89 <?php the_title(); ?> 90 </div> 91 </a></li> 92 <?php endforeach; ?> 93 94 </ul> 95 </aside> 96 <?php wp_reset_postdata(); 97 endif; ?> 98 99 100 101 </article> 102 <?php endwhile; endif; ?> 103 104 105 106 107</div> 108 109<div class="sub"> 110 <?php get_sidebar(); ?> 111</div> 112</div> 113 114<?php get_footer(); ?> 115 116 117<?php //アクセス数の記録 118$count_key = 'postviews'; 119$count = get_post_meta($post->ID, $count_key, true); 120$count++; 121update_post_meta($post->ID, $count_key, $count); 122?> 123 124

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

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

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

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

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

kei344

2016/05/10 15:15

single.php全体を追記することは可能でしょうか。
guest

回答3

0

ベストアンサー

こんにちは。

僕からは、ちがう角度からアプローチ(WordPressの管理画面を使用)する方法を紹介させていただきます。

1)コメント欄が表示されていない投稿の編集画面で、右上にある「表示オプション」をクリック。
2)表示されたメニューの中の「ディスカッション」にチェックをいれる。
3)記事投稿欄の下方に表示された「ディスカッション」のメニューの中の「コメントの投稿を許可する」にチェックをいれる。

以上、ご参考いただければ幸いです。

以下、僕からの質問です。

PHP

1<div class="col-full"> 2 <div class="wrap-col"> 3 <?php comments_template( ); ?> 4 </div><!-- ^ .wrap-col END--> 5</div><!-- ^ .col-full END-->

で、「<?php comments_template( ); ?>」をはさんでいる上下の各2行はオリジナルのグリッドシステム(grid.css)を使用しているということなのでしょうか。

投稿2016/05/11 01:39

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

ShogoChicago

2016/05/18 05:06

解決しました。 ご記入いただいた指示通りに操作したところ、コメント欄が現れました。 本当に助かりました。ありがとうございます。
退会済みユーザー

退会済みユーザー

2016/05/18 23:00

ShogoOnoさん、コメント(フィードバック)をいただきありがとうございます。 WordPressのちょっとしたエラーに関しては、管理画面から解決できることも少なからずありますので、とくに一部分に不具合が発生している場合などは管理画面の各項目をチェックしてみることをおすすめします。 いずれにしても、僕の回答がお役にたてたようで、とてもうれしいです。
guest

0

同じカテゴリを持つ記事が無いため表示されないのでは。
一度試しに if( $myposts ): の前にコメント用PHPを書かれてみてはいかがでしょう。

投稿2016/05/10 17:08

kei344

総合スコア69357

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

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

ShogoChicago

2016/05/10 17:16

ありがとうございます。 if( $myposts ): の前や、 <?php the_content(); ?>の列の下に書いてみたりとやってみましたが、いずれも一部のページではコメントが表示されないという状態は変わりませんでした。
kei344

2016/05/10 17:28

$cats = get_the_category(); の後で var_dump($cats);をして、表示されない記事に「service」が入っているか確認してみてください。
ShogoChicago

2016/05/10 20:37

ありがとうございます。 エラー文が表示されたので、少し前進したような気がします。 エラー文の一部を見てみると、 ["slug"]=> string(7) "service" というふうになっていたので、スラッグが振られていないというのはないかと思います。
kei344

2016/05/11 01:45

var_dumpは変数を出力する関数なので、エラー文ではないと思いますが、その部分を質問文に追記できますか?
ShogoChicago

2016/05/18 05:08

GeorgeCohtaさんの回答に従って操作したところ、コメント欄が出現しました。 WPの初歩的な操作だったのに、phpの問題かと勘違いしてしまっていました。 申し訳ありませんでした。 ご協力いただき、本当にありがとうございました。
guest

0

<div class="col-full">ごと存在していない投稿は、serviceというslugのついたカテゴリーに属していないということはないですか? それ以外にも表示される投稿とされない投稿との違いは何かありませんか?

投稿2016/05/10 11:18

callmehappening

総合スコア91

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

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

ShogoChicago

2016/05/10 14:04

改めて確認しましたが、スラッグはすべて共通して振ってありました。 同じテンプレートを使い回しで、投稿ごとに違うのは一部テキストのみという状態です。 また、 <?php if ( has_category( 'service' )): ?> この条件分岐に、コメントが表示されないページのパーマリンクを指定するということもやってみましたが、それでも出現しませんでした。
ShogoChicago

2016/05/18 05:09

GeorgeCohtaさんの回答に従って操作したところ、コメント欄が出現しました。 ご協力いただきありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.51%

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

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

質問する

関連した質問