我最近更改了博客的主题,并且显然没有显示所有评论类型,因此我留下了很多帖子,它们都带有X条评论,但实际上它们都没有显示在页面上。
这是用于显示主题主题的comment.php文件中的注释的代码:
<?php wp_list_comments('callback=infinity_comments'); ?>
据我了解,我必须以某种方式包括以下内容:
( array( 'type' => 'all' ) )
问题是我真的不知道该怎么做。我不是开发人员,所以我的知识非常有限。
我们将不胜感激。
谢谢!
=====更新=====
@zipkundan似乎可行,但是好像注释没有任何CSS规则,而且它们都被弄乱了,所以现在就可以了。 (图片:https://i.imgur.com/u2ibqUA.png)
这是“ infinity_comments”功能:
if ( ! function_exists( 'infinity_comments' ) ) {
function infinity_comments ( $comment, $args, $depth ) {
$_GLOBAL['comment'] = $comment;
if(get_comment_type() == 'pingback' || get_comment_type() == 'trackback' ) : ?>
<li class="pingback" id="comment-<?php comment_ID(); ?>">
<article <?php comment_class('entry-comments'); ?> >
<div class="comment-content">
<h3 class="comment-author">
<?php esc_html_e( 'Pingback:', 'flexblog' ); ?>
</h3>
<span class="comment-date" >
<a href=" <?php echo esc_url( get_comment_link() ); ?> " class="comment-date" >
<?php
comment_date( get_option('date_format') );
esc_html_e( ' at ', 'flexblog' );
comment_time( get_option('time_format') );
?>
</a>
<?php
echo edit_comment_link( esc_html__(' [Edit]', 'flexblog' ) );
?>
</span>
<div class="clear"></div>
<div class="comment-text">
<?php comment_author_link(); ?>
</div>
</div>
</article>
</li>
<?php elseif (get_comment_type() == 'comment') : ?>
<li id="comment-<?php comment_ID(); ?>">
<article <?php comment_class('entry-comments'); ?> >
<figure class="comment-avatar">
<?php
$avatar_size = 60;
if( $comment->comment_parent != 0 ) {
$avatar_size = 55;
}
echo get_avatar( $comment, $avatar_size );
?>
</figure>
<div class="comment-content">
<h3 class="comment-author">
<?php comment_author_link(); ?>
</h3>
<span class="comment-date" >
<a href=" <?php echo esc_url( get_comment_link() ); ?> ">
<?php
comment_date( get_option('date_format') );
esc_html_e( ' at ', 'flexblog' );
comment_time( get_option('time_format') );
?>
</a>
<?php
echo edit_comment_link( esc_html__(' [Edit]', 'flexblog' ) );
?>
</span>
<div class="clear"></div>
<div class="comment-text">
<?php if($comment->comment_approved == '0') : ?>
<p class="awaiting-moderation"><?php esc_html_e('Your comment is awaiting moderation.', 'flexblog'); ?></p>
<?php endif; ?>
<?php comment_text(); ?>
</div>
</div>
<span class="reply">
<?php comment_reply_link(array_merge( $args, array( 'depth' => $depth, 'max_depth' => $args['max_depth']) ) ); ?>
</span>
</article>
<?php endif;
}
}
我尝试在comments.php中使用您的代码,并在functions.php的这一行中将“ comment”替换为“ all”:
<?php elseif (get_comment_type() == 'comment') : ?>
但没有任何变化。显示注释,但它们未遵循任何CSS规则。
有什么办法解决吗?
谢谢!
=====更新2 =====
在我上面提到的functions.php代码中,是这样的:
<?php elseif (get_comment_type() == 'comment') : ?>
如果我将“ comment”替换为“ social-twitter”或“ social-facebook”(目前未出现的两种类型的评论都可以,它们看起来很好。但是,这会使所有其他评论成为现实类型不出现。因此解决方案看起来非常简单,我只需要在该行代码中提及“ comment”,“ social-twitter”和“ social-facebook”,以便出现所有当前存在的注释类型。我应该如何精确格式化列表?我只是尝试编写'comment','social-facebook','social-twitter',但这似乎不起作用。
答案 0 :(得分:0)
如前所述,您的comment.php文件中有以下一行。
<?php wp_list_comments('callback=infinity_comments'); ?>
将其更新/更改为以下内容。
<?php
$arg = array(
'callback'=>'infinity_comments',
'type'=>'all'
);
wp_list_comments();
?>
如果这不能解决您的问题,则问题出在新主题的自定义函数“ infinity_comments”之内。在其中找到新主题中的功能,然后发布该功能的代码进行检查。
希望这会有所帮助。
在有问题的“更新2”之后更新。
在这种情况下,您可以尝试如下更新elseif。
<?php elseif (get_comment_type() == 'comment' || get_comment_type() == 'social-twitter' || get_comment_type() == 'social-facebook') : ?>
让我知道这是否可行。