• Rozwiązano Luke_S

    (@luke_s)


    Mam problem z wyświetlaniem ilości komentarzy w j. polskim. Motyw, z którego korzystam, oryginalnie wyświetlał tylko słowo „comment” lub „comments” przy wyświetlonej liczbie komentarzy. Ja chciałbym, żeby w zależności od ilości komentarzy wyświetlane było coś takiego:

    0 lub 5,6,7 i więcej: komentarzy
    1: komentarz
    2 i 3: komentarze

    Skrypt, który odpowiedzialny jest za wyświetlanie ilości komentarzy, obecnie wygląda tak:

    <?php if (have_comments()) { ?>
      <div id="commentspost"><a name="commentspost"></a>
    	<h2 class="title"><?php comment_type_count();?> <?php _e('komentarze', 'wpzoom'); ?></h2>
    	<ol class="normalComments"><?php wp_list_comments('type=all&avatar_size=60');?></ol>
    	</div><!-- end #commentspost -->
    
    <?php if ('closed' == $post->comment_status) : ?>
    <?php endif; ?>
    
     <?php }
     else { // this is displayed if there are no comments so far ?>
    
    	<?php if ('open' == $post->comment_status) { ?>
    		<!-- If comments are open, but there are no comments. -->
    <div id="commentspost">
    	<h2 class="title">Brak <?php _e('komentarzy', 'wpzoom'); ?></h2>

    Już w nim podmieniłem nazwy angielskie na polskie, ale to oczywiście niczego nie rozwiązuje. Wychodzą bzdury typu „1 komentarze”.

    Pomożecie zmodyfikować ten skrypt tak, abym uzyskał to, na czym mi zależy?

Zobacz 2 odpowiedzi - od 1 do 2 (z 2 łącznie)
  • Twórca wątku Luke_S

    (@luke_s)

    Dzięki! Wprawdzie ten kod u mnie się wysypywał, ale wykorzystałem jego fragment i wszystko działa. Gdyby ktoś korzystał z motywu Photoria, oto co trzeba zrobić, aby zmienić „comment” na „komentarz”, a „comments” na „komentarze” lub „komentarzy” w zależności od liczebnika:

    W pliku comments.php (wp-content\themes\photoria) przed linią

    <?php if (have_comments()) { ?>

    trzeba wpisać to:

    <?php $liczba = get_comment_type_count();?>
    <?php if ( $liczba == 1 ) {
            $komentarz = "komentarz";
        } elseif ( $liczba == 2 ) {
            $komentarz = "komentarze";
        } elseif ( $liczba == 3 ) {
            $komentarz = "komentarze";
        } elseif ( $liczba == 4 ) {
            $komentarz = "komentarze";
        } else {
            $komentarz = "komentarzy";
        } ?>

    a zamiast linii

    <h2 class="title">Brak <?php _e('Comments', 'wpzoom'); ?></h2>

    wpisać:

    <h2 class="title"><?php comment_type_count();?> <?php echo $komentarz; ?></h2>

    Sposób jest bardzo łopatologiczny, bo działa tylko przy ilości max. 21 komentarzy. Przy 22, 23, 24, 32, 33, … trzeba dopisać kolejne linie, np:

    elseif ( $liczba == 33 ) {
            $komentarz = "komentarze";
        }

    Ale przynajmniej tyle jest w stanie zrobić ktoś, kto nigdy nie miał do czynienia z PHP 🙂

Zobacz 2 odpowiedzi - od 1 do 2 (z 2 łącznie)

Temat ‘Wyświetlana ilość komentarzy a liczba mnoga w j. polskim’ jest zamknięty na nowe odpowiedzi.