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.

Súvisiace články:

2 komentáre pri “Modifikácia výstupu wp_list_pages()

  1. Spätné upozornenie: Zmena malých/veľkých písmen pomocou CSS | Hlava bloguje

Pridaj komentár

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

*

Môžete použiť tieto HTML značky a atribúty: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>