Modifikácia výstupu wp_list_pages()

Funkcia wp_list_pages() vo Wodpresse slúži na vypísanie zoznamu stránok, podľa zadaných parametrov. Vypisuje ich ako nezotriedený zoznam liniek. V dnešnom článku Vám ukážem ako sa dá tento výstup modifikovať pomocou PHP funkcie preg_match_all().

Ukážem vám ako vypísať názvy stránok veľkými písmenami. Pravda, môžete priamo zadať názvy stránok veľkými písmenami, ale ja som chcel použiť veľké písmená len v menu.

Základom je zadať funkcii wp_list_pages parameter echo=1, aby namiesto vypísania výstupu vrátila reťazec, ktorý sa má vypísať. Ďalej stačí pomocou preg_match_all() nájsť v reťazci to čo poterbujeme a následne zmeniť všetky znaky na veľké pomocou PHP funckie mb_strtoupper().

<?
    /* uloženie zoznamu stránok do reťazca */
    $str = wp_list_pages('echo=0');

    /* všetky názvy sa nám vrátane uložia do poľa $a[1] */
    preg_match_all('|>([^>]*)</a>|s', $str, $a);

    
    /* na na každý nájdený reťazec aplikujeme mb_strtoupper() a pomocou
     * str_replace() ho nahradíme v zozname stránok */
    foreach($a[1] as $t) {
        $str = str_replace($t, mb_strtoupper($t), $str);
    }

    /* a na záver už len vypíšeme modifikovaný reťazec */
    echo $str;
?>

Iný príklad použitia preg_match_all() môžete vidieť pri vytváraní liniek v texte.


Posted

in

by

Comments

2 odpovede na na “Modifikácia výstupu wp_list_pages()”

  1. head Avatar

    V kóde som objavil nejaké chybičky, tak som to opravil.

  2. […] vlastnosť CSS s názvom text-transform. Keby som ju poznal skôr, tak by som sa nemusel trápiť s modifikáciou výstupu wp_list_pages ako minule, ale jednoducho by som použil CSS ako v nasledovnom […]

Pridaj komentár

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