wp.Vicuna.excのコメント一覧の不具合
wp.Vicuna Ext. Customのコメント表示に不具合を見つけました。
ただ、これらの不具合は放置しておいても大丈夫かと思われます。
- コメントのマークアップに
</dd>
が足りない - ゴミ箱に入れたコメントがあると
</dd>
が出力される(WordPress2.9以降) - ゴミ箱に入れたコメントもコメント数に含まれる(WordPress2.9以降)
上の二つはコーディングが、下の二つはWordPress2.9から追加されたゴミ箱機能を想定していないという事が、原因です。
WordPressのゴミ箱機能については別の記事を参照してください。
それでは早速修正をしてみましょう。
対象となるのはコメント(comments.php)ファイルです。
if ($comments) :
foreach ($comments as $comment) {
$type = get_comment_type();
switch( $type ) {
case 'trackback' :
case 'pingback' :
if ( $comment->comment_approved != 'spam') {
$trackpingArray[$trackpingCount++] = $comment;
}
break;
default :
if ( $comment->comment_approved != 'spam') {
$commentArray[$commentCount++] = $comment;
}
}
}
endif;
if ($commentCount > 0 || 'open' == $post->comment_status) : ?>
<div class="section" id="comments">
<h2><?php if ('open' == $post->comment_status) : _e('Comments'); else : _e('Comments (Close)', 'vicuna'); endif; ?>:<span class="count"><?php echo $commentCount ?></span></h2>
<?php if ($commentCount > 0) :
vicuna_edit_comments_link(__('Edit this comments.', 'vicuna'), '<p class="admin">', '</p>'); ?>
<dl class="log">
<?php foreach ($commentArray as $comment) : ?>
<?php
/* -- whisper add s -- */
if('1' == $comment->comment_approved){
/* -- whisper add e -- */
?>
<dt id="comment<?php comment_ID() ?>"><span class="name"><?php comment_author_link() ?></span> <span class="date"><?php comment_date(__('y-m-d (D) G:i', 'vicuna')) ?></span> <?php edit_comment_link(__('Edit'), '<span class="admin">', '</span>'); ?></dt>
<dd>
<?php comment_text() ?>
<?php
/* -- whisper add s -- */
} else {
if('0' == $comment->comment_approved){
?>
<dt id="comment<?php comment_ID() ?>"><span class="name">******</span> <span class="date"><?php comment_date(__('y-m-d (D) G:i', 'vicuna')) ?></span> </dt>
<dd>
<?php
_e('This comment is awaiting the approval of the author','vicuna');
}
?>
</dd>
<?php
}
/* -- whisper add e -- */
endforeach; ?>
</dl>
修正の量自体は少ないです。
if ($comments) :
foreach ($comments as $comment) {
$type = get_comment_type();
switch( $type ) {
case 'trackback' :
case 'pingback' :
if ( $comment->comment_approved != 'spam') {
$trackpingArray[$trackpingCount++] = $comment;
}
break;
default :
if ( $comment->comment_approved != 'spam'
&& $comment->comment_approved != 'trash') {
$commentArray[$commentCount++] = $comment;
}
}
}
endif;
if ($commentCount > 0 || 'open' == $post->comment_status) : ?>
<div class="section" id="comments">
<h2><?php if ('open' == $post->comment_status) : _e('Comments'); else : _e('Comments (Close)', 'vicuna'); endif; ?>:<span class="count"><?php echo $commentCount ?></span></h2>
<?php if ($commentCount > 0) :
vicuna_edit_comments_link(__('Edit this comments.', 'vicuna'), '<p class="admin">', '</p>'); ?>
<dl class="log">
<?php foreach ($commentArray as $comment) : ?>
<?php
/* -- whisper add s -- */
if('1' == $comment->comment_approved){
/* -- whisper add e -- */
?>
<dt id="comment<?php comment_ID() ?>"><span class="name"><?php comment_author_link() ?></span> <span class="date"><?php comment_date(__('y-m-d (D) G:i', 'vicuna')) ?></span> <?php edit_comment_link(__('Edit'), '<span class="admin">', '</span>'); ?></dt>
<dd>
<?php comment_text() ?>
<?php
/* -- whisper add s -- */
} elseif('0' == $comment->comment_approved){
?>
<dt id="comment<?php comment_ID() ?>"><span class="name">******</span> <span class="date"><?php comment_date(__('y-m-d (D) G:i', 'vicuna')) ?></span></dt>
<dd>
<?php
_e('This comment is awaiting the approval of the author','vicuna');
}
?>
</dd>
<?php
/* -- whisper add e -- */
endforeach; ?>
</dl>
トラックバックの方については未確認です。
コメント[0]
コメント投稿フォーム
コメントを投稿するにはJavaScirptが必要です。ブラウザのJavaScriptを有効にしてください。
トラックバック[0]
トラックバックはまだありません。
コメントはまだありません。