Skloňovanie v PHP a WordPress

Dnešný článok bude zase o PHP, keďže tie ostatné mám síce rozpísané, ale nie a nie ich dokončiť. Je určený pre začiatočníkov a obsahuje návod na skloňovanie v PHP a WordPresse.

Ak robíte výpis dát, tak často potrebujete upraviť skloňovanie podľa počtu nájdených záznamov. Napríklad pri výpise komentárov ku článku zaiste nechcete mať niečo ako 2 komentárov, ale chcete mať skloňovaný výpis ako 2 komentáre. Práve na toto používam túto jednoduchú funkciu:

<?
function sklonuj($intCount, $w1, $w2, $w3) {
  switch($intCount) {
    case 1:
      return $w1;
    case 2:
    case 3:
    case 4:
      return $w2;
    default:
      return $w3;
  }
}
?>

Príklad použitia:

<?
echo sklonuj(1, 'komentár', 'komentáre', 'komentárov');
echo sklonuj(12, 'príspevok', 'príspevky', 'príspevkov');
?>

Výstup:

komentár
príspevkov

Jednoduché, ale praktické.

Skloňovanie pre WordPress

Hore som predviedol veľmi jednoduché skloňovanie v PHP, ale ak chcete mať na svojom WordPress blogu zobrazený počet komentárov po slovensky a korektne tak Vám odporúčam vo Vašej šablóne nahradiť funkciu comments_popup_link() funkciou comments_popup_link_2_4(). Napríklad ja ju mám na mojom blogu v šablóne použitú takto:

<?php comments_popup_link_2_4('Pridaj komentár', '1 komentár', '% komentárov', '% komentáre'); ?>

Aby ste mohli túto funkci použiť, tak vám odporúčam nainštalovať si do WordPressu 2-4 comment fix plugin od Jána Varhola.


Posted

in

,

by

Comments

4 odpovede na na “Skloňovanie v PHP a WordPress”

  1. Tom@S Avatar

    zaujimave mozno vyuzijem zatial mi to zily nejak netrha ale clovek nikdy nevie

  2. JanoF Avatar

    Pouzil som ho na svojej stranke, sice sa jedna len o staticku stranku ale to je jedno a sklonuje mi to Online: % navstevnik, navstevnici, navstevnikov :-)

    thx za navod

  3. head Avatar

    Hehe, nie je zac. Som rad, ze Ti to pomohlo :)

  4. […] Ak ste čítali pozorne, tak ste si všimli, že v kóde je použitá funkcia sklonuj(), ktorú nájdete v článku o skloňovaní v PHP. […]

Pridaj komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *