27
08
11
Nie chwal się brakiem komentarzy
Miałem napisać wpis na jednego z moich blogów budowlanych obsługiwanych przez WordPressa. I tak mi się rzuciło w oczy, że na stronie głównej przy kilku wpisach widnieją takie smutne napisy:
wpis ma 0 komentarzy
Doszedłem do wniosku, że taka informacja niczemu dobremu nie służy i trzeba ją z szablonu usunąć. Nie zastanawiałem się długo i zabrałem się do roboty.
W szablonie (w pliku index.php) widniał taki oto fragment:
<?php if (comments_open() && !(is_single() || is_page())){ _e(' wpis ma '); comments_number(__('0 komentarzy.'), __('1 komentarz.'), __('komentarzy: %.'),'',''); } edit_post_link(__('Edit'),'<span class="editMeLink">(',')</span>');?>
Ten kod funkcjonuje w następujący sposób:
- sprawdza, czy we wpisie pozwolono na komentowanie,
- sprawdza, czy oglądana strona nie jest pojedynczym wpisem lub stroną,
- jeśli oba warunki są spełnione, podaje liczbę komentarzy z odpowiednim tekstem.
Aby uniknąć wyświetlania informacji, że jest zero komentarzy, można byłoby dołożyć dodatkowy warunek — sprawdzający, czy jest co najmniej jeden komentarz. Ale funkcja comments_number jako kolejne argumenty przyjmuje tekst, który może wyświetlać, jeśli jest 0 lub 1 komentarzy. A więc wystarczy nieco zmienić sposób jej wywołania.
Zastosowałem więc taki kod:
<?php if (comments_open() && !(is_single() || is_page())){ comments_number(__(' przeczytaj i skomentuj ten artykuł'), __(' artykuł ma 1 komentarz.'), __(' artykuł ma % komentarzy.'),'',''); } edit_post_link(__('Edit'),'<span class="editMeLink">(',')</span>');?>
Zamiast usunąć informację o braku komentarzy, zastąpiłem ją wezwaniem do akcji — prośbą o przeczytanie i skomentowanie artykułu. Zmieniłem też “wpis ma” na “artykuł ma”, teraz ten tekst wygląda bardziej naturalnie. Zamiast “wpis ma komentarzy: 3″ blog wyświetla “artykuł ma 3 komentarzy”. Nie zawsze będzie to poprawne językowo, ale tak to już w języku polskim bywa…
A jak już brać się za przeróbki w szablonie do WordPressa, to można jeszcze uruchomić taką zachętę do komentowania.




