web-dev-qa-db-fra.com

Comment obtenir une balise <h2> pour envelopper chaque ancêtre généré dans cette condition?

J'ai trouvé cet extrait dans un fil différent et il fait essentiellement ce dont j'ai besoin, mais je ne parviens pas à envelopper les pages individuelles qui sont générées avec des balises. Tout ce que je peux sembler ajouter, c'est un saut de ligne. Comme je n'ai pas beaucoup d'expérience avec php, je n'ai malheureusement pas pu l'adapter à mes besoins. En fin de compte, il me faut simplement afficher les titres de page des premier et deuxième niveaux et les insérer dans des h2 individuels. Merci d'avance.

    //This is the loop that pulls banner titles
function print_page_parents($reverse = true){
    global $post;

    //create array of pages (i.e. current, parent, grandparent)
    $page = array($post->ID);
    $page_ancestors = get_ancestors($post->ID, 'page');
    $pages = array_merge($page, $page_ancestors);

    if($reverse) {
        //reverse array (i.e. grandparent, parent, current)
        $pages = array_reverse($pages);
    }

    for($i=0; $i<count($pages); $i++) {
        $ban_titles.= get_the_title($pages[$i]);
        if($i != count($pages) - 1){
            $ban_titles.= " <br /> ";
        }
    }

    echo $ban_titles;
}
2
Clint Hubbard Jr

Pour envelopper vos titres dans h2, remplacez simplement echo $ban_titles; par echo '<h2>'. $ban_titles . '</h2>';.

Si vous souhaitez limiter le nombre de titres affichés à 2, remplacez for($i=0; $i<count($pages); $i++) par for($i=0; $i<2; $i++).

J'espère que ça va aider, PHP n'est pas si effrayant après tout :)

[modifier]

Comment sur cela?

    //This is the loop that pulls banner titles
function print_page_parents($reverse = true){
    global $post;

    //create array of pages (i.e. current, parent, grandparent)
    $page = array($post->ID);
    $page_ancestors = get_ancestors($post->ID, 'page');
    $pages = array_merge($page, $page_ancestors);

    if($reverse) {
        //reverse array (i.e. grandparent, parent, current)
        $pages = array_reverse($pages);
    }

    $i = 0;
    if(count($pages)==1) {

    echo '<h2>'. get_the_title($pages[$i]) .'</h2>';

    } else {

    echo '<h2>'. get_the_title($pages[$i]) .'</h2>';
    echo '<h2>'. get_the_title($pages[$i+1]) .'</h2>';

    }

 }
0
Bart Karp