WordPressテーマSANGOの質問

トップページの記事一覧にコメント数を表示させたい

アバター
gamelog

長年別のテーマを利用していましたが、ずっとSANGOが気になっており、先日購入させていただきました。これからよろしくお願いします。

多い時には数百コメントつくこともあり、記事だけじゃなく、コメントも活発なブログをWordPressで管理しています。

トップページの記事一覧や投稿記事ページにどうしてもコメント数を表示したいのですが、コードなどカスタマイズの導入方法を教えてほしいです。
具体的には「投稿日」の横に「コメント(0)」という風に表示させたいです。
もしできれば「コメント(0)」にその記事のコメント欄へのジャンプリンクも付けたいです。

よろしくお願いいたします。

SANGO
質問板アーカイブ
コメントへの回答
サルワカくん
サルワカくん
2019/08/15

コメントが数百つくことがあるとはすごいですね。

①記事一覧カードにコメント数をのせる

WordPressではget_comments_number()という関数を使うことでコメント数を取得できます。

記事一覧のカードはsng_normal_card()という関数で出力するようになっていますが、こちらは子テーマでfunctions.phpで上書きできます。

カードタイプの記事一覧であれば、以下のカスタマイズでコメント数を表示することが可能です。

①-1. 子テーマのfunctions.phpに下記コードを追加

function sng_normal_card()
  { ?>
  <article class="cardtype__article">
    <a class="cardtype__link" href="<?php the_permalink()?>">
      <p class="cardtype__img">
        <img src="<?php echo featured_image_src('thumb-520'); ?>" alt="<?php the_title();?>" <?php sng_lazy_attr(); ?>>
      </p>
      <div class="cardtype__article-info">
        <?php echo sng_get_single_date(null, "entry-time dfont") ?>
            <span class="cardtype__comment">コメント(<?php echo get_comments_number(); ?>)</span>
        <h2><?php the_title();?></h2>
      </div>
    </a>
  <?php
    // カテゴリーを出力
    if (!is_archive()) {
      output_catogry_link();
    }
    // newマーク
    newmark();
  ?>
  </article>
<?php
  }

①-2. 外観⇒カスタマイズ⇒追加CSSに下記を追加

.cardtype__article-info {
    position: relative;
}
.cardtype__comment {
    position: absolute;
    top: 0;
    right: 4px;
    font-size: 13px;
    color: #8c8c8c;
}

CSSはお好みで調整していただくのが良いかと思います。

(こちらはクリック時にコメント欄までリンクを飛ばすようにするのは難しいです)


②投稿詳細ページの日付横にコメント数を載せる

entry-header.phpというファイルに記事タイトルまわりのコードが書かれています。

②-1. 子テーマの中に、partsという名前のフォルダーを作成し、さらにその中にsingleという名前のフォルダーを作成します。
②-2. 作成したsingleフォルダーの中に、親テーマからentry-header.phpというファイルを複製してきます(ファイルの内容は、一旦親テーマのものと全く同じにしてください)。

これで子テーマのentry-header.phpが読み込まれるようになります。

②-3. 子テーマのentry-header.phpを開き、17行目あたりの

</div>
  <?php if (has_post_thumbnail() && !get_option('no_eyecatch')) : //アイキャッチ画像 ?>

すぐ上

<a href="#comments-title">コメント(<?php echo get_comments_number(); ?>)</a>

という行を追加します。

これでコメント数が表示されるようになります。よろしくお願いします。

アバター
gamelog
2019/08/17

丁寧なサポート感謝いたします。
無事に実装できました。
また何かありましたらよろしくお願いします。
ありがとうございます!