急切的php newb请求wordpress代码的建议

时间:2013-03-28 00:29:56

标签: php wordpress

设计师刚开始使用PHP寻找更优雅的解决方案

我正在尝试创建一个div,如果他们有评论,则只会显示在帖子旁边。唯一的 我可以开始工作的代码低于&这是通过创建两个变量,我觉得比我自己不需要更有经验的人,我只是不能用代码表达我正在寻找的东西。这是我使用php的第一周,所以我一直在谷歌搜索解决方案&只能找到用wordpress函数生成注释数的例子get_comments_number(); &安培;然后用javascript隐藏那些带有0的div,这对于一些如此微不足道的东西来说似乎过于复杂。

我喜欢更像下面的代码,尤其是它输出奇异的代码的方式。之后有多个评论文本,但我还不够称职。

非常感谢任何示例/建议

       <?php 
          $b = 0;
          $commBox = get_comments_number();

          if($commBox <=$b) {
                echo ""; 
          }else{
                echo "<div class=\"commentbox\"> $commBox </div>"; 
        }?>

     <?php if ( have_comments() ); ?>
     <div class="commentbox">
     <?php printf( _n( '1 comment;', '%1$s comments;', get_comments_number(), 'ves'),
     number_format_i18n( get_comments_number() ) ); ?>
     </div>

2 个答案:

答案 0 :(得分:2)

您是否尝试过运行以下代码?如果帖子确实有评论,这只会创建一个div,这意味着你不需要任何JavaScript来隐藏它们,因为它们不存在:

<?php 

if ( get_comments_number() > 0 ) {

echo '<div class="commentbox">';

comments_number( 'no comments', 'one comment', '% comments' );

echo '</div>';

}

?>

请注意使用comments_number()函数,该函数对于根据单个或多个注释显示不同值的操作有用。可以找到函数引用here

答案 1 :(得分:1)

清理顶级代码(我认为你要求的是:

   <?php 
      $commBox = get_comments_number();
      if($commBox) {
            echo "<div class=\"commentbox\"> $commBox </div>"; 
    }
    ?>

这只是基本上检查$ commBox是否为真(在PHP 0中为假,非零数字为真)并删除了不必要的echo ""

你可以通过一个返回get_comments_number()的函数创建一个have_comments()函数,但我不确定是否有必要。

编辑:像:

echo "<div class=\"commentbox\"> $commBox comment" . ($commBox == 1 ? 's' : '') . " </div>"; 

如果有多条评论,则应显示“评论”;如果有一条评论,则应显示“评论”(尽管未经测试)。

相关问题