2

PHP を使い始めたばかりのデザイナーで、より洗練されたソリューションを探している

コメントがある場合にのみ投稿の横に表示される div を作成しようとしています。私が作業できる唯一のコードは以下のとおりです。これは、2 つの変数を作成することによるものです。経験豊富な人は自分が必要としないと感じています。探しているものをコードで表現することはできません。これは、php を使用する最初の 1 週間なので、解決策を探してグーグルで検索しましたが、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>
4

2 に答える 2

2

次のコードを実行してみましたか。これは、投稿にコメントがある場合にのみ div を作成します。つまり、存在しないため、JavaScript を使用せずにコメントを非表示にする必要はありません。

<?php 

if ( get_comments_number() > 0 ) {

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

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

echo '</div>';

}

?>

comments_number()単一または複数のコメントに基づいて異なる値を表示するという点で、目的に適した関数の使用に注意してください。関数リファレンスはここにあります。

于 2013-03-28T00:34:46.183 に答える
1

トップコードへのクリーンアップ(これはあなたが求めているものだと思います:

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

これは基本的に $commBox が true であることを確認し (PHP では 0 は false、ゼロ以外の数字は true)、 uneccessary を削除しますecho ""

get_comments_number() を返す関数を持つだけで have_comments() 関数を作成できますが、それが必要かどうかはわかりません。

編集:次のようなもの:

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

複数のコメントがある場合は「コメント」を表示し、1 つのコメントがある場合は「コメント」を表示する必要があります (ただし、これはテストされていません)。

于 2013-03-28T00:41:20.833 に答える