1. TOP
  2. wordpress
  3. ワードプレス comments.phpを作成してみる

ワードプレス comments.phpを作成してみる

コメント部分をつけるかつけないかはお好みですが、新規でcomments.phpを作成してみます。

comments.phpもheader.php footer.php同様、切り出して表示する形になります

サンプル comments.php

<?php
if ( post_password_required() ) {
return;
}
?>

<?php if ( have_comments() ) : ?>
<div class=”box-generic”>
<div class=”box-content box-comment-display”>
<h2>コメントとトラックバック</h2>
<ul class=”comment-list”>
<?php
wp_list_comments( array(
‘avatar_size’ => 130,
) );
?>
</ul>
</div>
</div>
<?php endif; ?>

<?php if ( comments_open() ) : ?>
<div class=”box-generic”>
<div class=”box-content box-comment-input”>
<?php comment_form(); ?>
</div>
</div>
<?php endif;

実際に読み込むことになるとかなり複雑なコードになりますが、ここではかなりシンプルに仕上げています。

single.phpにコメントを読み込みます。

サンプル single.php

<?php if ( comments_open() || get_comments_number() ) :
comments_template();
endif; ?>

こちらは<div class=”main-column”></div>

“main-column”の</div>直前に記述します。

サンプル single.php

<div class=”main-column”>
<div class=”box-ge”main-column”neric”>
<h1 class=”box-heading box-heading-article”><?php the_title(); ?></h1>
<div class=”box-content”>

<article class=”entry”>
<?php the_content(); ?>
</article>

<div class=”meta-data”>
<time class=”meta meta-entry-date” datetime=”<?php echo get_the_date( DATE_W3C ); ?>”><?php echo get_the_date(); ?></time>
<p class=”meta meta-author”><?php the_author_posts_link(); ?></p>
<p class=”meta meta-cat”><?php the_category( ‘, ‘ ); ?></p>
<p class=”meta meta-tag”><?php the_tags(); ?></p>
</div>

<?php the_post_navigation( array(
‘prev_text’ => ‘前の記事:%title’,
‘next_text’ => ‘次の記事:%title’,
) ); ?>
</div>
</div>

<?php if ( comments_open() || get_comments_number() ) :
comments_template();
endif; ?>

</div>

コメント一覧表示について

<?php
wp_list_comments( array(
‘avatar_size’ => 130,
) );
?>

コメント表示については

wp_list_comments();

を使用します。

array(
‘avatar_size’ => 130,
)

は投稿者のアバターのサイズになります。

130pxでアバターが表示されます。

 

そしてここでまた「if文」が出てきます。

<?php if ( have_comments() ) : ?>
<?php endif; ?>

コメントがない場合は出力されない設定です。

<div class=”box-generic”>
<div class=”box-content box-comment-display”>
<h2>コメントとトラックバック</h2>
<ul class=”comment-list”>
<?php
wp_list_comments( array(
‘avatar_size’ => 130,
) );
?>
</ul>
</div>
</div>

コメントフォームの出力

 

<?php comment_form(); ?>の関数がコメントフォームの出力です。

<?php if ( comments_open() ) : ?>
<div class=”box-generic”>
<div class=”box-content box-comment-input”>
<?php comment_form(); ?>
</div>
</div>
<?php endif;

 

<?php if ( comments_open() ) : ?>
でコメントが許可されている場合のみ出力します。

コメントパスワード制御

<?php
if ( post_password_required() ) {
return;
}
?>

このコードが閲覧制限のパスワード制御になります。

パスワード保護された状態ではコメントは非表示になり、解除した場合のみコメントが表示されます。

最後に「functions.php」の「samplewp_setup() {」に以下のコードを記します。

サンプル functions.php

add_theme_support( ‘html5’, array(
‘comment-form’,
‘comment-list’,
) );

 

これでHTML対応したマークアップがコメント部分に出力されます。

実際にコメント投稿してみましょう。

動作に問題がなければ、後はCSSをあててスタイリングします。

Leave a comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です