top of page

Jak zrobić prawidłową (polską) odmianę informacji o liczbie komentarzy w WordPress?

Zdjęcie autora: Piotr BartczakPiotr Bartczak

Jakiś czas temu dostałem pytanie od stałego czytelnika:

W angielskim jest 0 „No Responses”, 1 „One Response”, 2 i więcej „Responses”. W polskim 0 „Bez komentarza”, 1 „1 komentarz”, 2-4 „Komentarze”, 5 i więcej- „Komentarzy”. Nie jest stylistycznie poprawnie pisanie np. „2 komentarzy”, a taką formę można najczęściej spotkać w różnych miejscach w sieci. Ja rozwiązuję ten problem w moich templatkach 0 „Wpisz komentarz”, 1 „Jeden komentarz”, 2 i więcej „Komentarzy: „. Nie wiem, czy jest możliwe zaimplementowanie przedziału 2-4 tak, aby było „komentarze”. Na razie nie spotkałem się tym w żadnej templatce. Próbowałem sam to rozwiązać, ale bez skutku. Może warto o tym napisać?

Spróbujemy rozwiązać ten problem w najprostszy z możliwych sposobów.

Najpierw będziemy sprawdzać ile mamy komentarzy, a potem w zależności od tego w jakim przedziale znajdzie się ta liczba ustawimy odpowiedni format wyświetlania.

Sprawę załatwi poniższy kod:

$num_comments = get_comments_number();
if ( comments_open() ) {
 	if ( $num_comments == 0 ){
 	  	$comments = "Nie ma jeszcze komentarzy";
 	} elseif ( $num_comments == 1 ) {
 	  	$comments = "Jest już pierwszy komentarz";
 	} elseif ( 5 > $num_comments > 1 ) {
 	  	$comments = "Są już " . $num_comments . " komentarze";
 	} else {
 	  	$comments = "Jest już " . $num_comments. " komentarzy";
 	}
        $write_comments = '<a href="' . get_comments_link() .'">'. $comments.'</a>';
} else {
        $write_comments = 'Komentarze są wyłączone';
}

Na koniec wstawiamy i ostylowujemy w odpowiednim miejscu:

<?php echo $write_comments; ?>

Dla zainteresowany więcej informacji w Codex: get_comments_number

1 wyświetlenie0 komentarzy

Ostatnie posty

Zobacz wszystkie

Commentaires


bottom of page