Content Màrqueting

WordPress: Com llistar pàgines infantils mitjançant un codi curt

Hem reconstruït la jerarquia de llocs per a diversos dels nostres WordPress clients, i una de les coses que intentem fer és organitzar la informació de manera eficient. Per fer-ho, sovint volem crear una pàgina mestra i incloure un menú que llisti automàticament les pàgines que hi ha a sota. Una llista de pàgines secundàries o subpàgines.

Malauradament, no hi ha cap funció ni funció inherent per fer-ho a WordPress, de manera que hem desenvolupat un codi curt per afegir al lloc del client. A continuació, s'explica com podeu utilitzar el codi curt amb totes les seves variables poblades dins d'una publicació o pàgina de WordPress:

[listchildpages ifempty="No child pages found" order="ASC" orderby="title" ulclass="custom-ul-class" liclass="custom-li-class" aclass="custom-a-class" displayimage="yes" align="aligncenter"]

Desglossament de l'ús:

  • ifempty="No child pages found": aquest text es mostrarà si no hi ha pàgines secundàries disponibles.
  • order="ASC": Això ordena la llista de pàgines secundàries en ordre ascendent.
  • orderby="title": Això ordena les pàgines secundàries pel seu títol.
  • ulclass="custom-ul-class": Aplica la classe CSS "custom-ul-class" al fitxer <ul> element de la llista.
  • liclass="custom-li-class": Aplica la classe CSS "custom-li-class" a cadascun <li> element de la llista.
  • aclass="custom-a-class": Aplica la classe CSS "custom-a-class" a cadascun <a> (enllaç) element de la llista.
  • displayimage="yes": inclou la imatge destacada de cada pàgina secundària de la llista.
  • align="aligncenter": Això alinea les imatges destacades al centre.

Inseriu aquest codi curt directament a l'àrea de contingut d'una publicació o pàgina de WordPress on voleu que aparegui la llista de pàgines secundàries. Recordeu personalitzar els valors de cada atribut per adaptar-los al disseny i l'estructura del vostre lloc de WordPress.

A més, si voleu un fragment breu en descriure cada pàgina, el connector habilita fragments de pàgines perquè pugueu editar aquest contingut a la configuració de la pàgina.

Llista de codi curt de pàgines infantils

function add_shortcode_listchildpages($atts, $content = "") { 
    global $post; 
    $string = '';

    $atts = shortcode_atts(array(
        'ifempty' => '<p>No Records</p>',
        'order' => 'DESC',
        'orderby' => 'publish_date',
        'ulclass' => '',
        'liclass' => '',
        'aclass' => '',
        'displayimage' => 'no',
        'align' => 'alignleft'
    ), $atts, 'listchildpages');

    $args = array(
        'post_type' => 'page',
        'posts_per_page' => -1,
        'post_parent' => $post->ID,
        'orderby' => $atts['orderby'],
        'order' => $atts['order']
    );

    $parent = new WP_Query($args);

    if ($parent->have_posts()) {
        $string .= $content.'<ul class="'.$atts['ulclass'].'">';
        while ($parent->have_posts()) : $parent->the_post();
            $string .= '<li class="'.$atts['liclass'].'">';
            $true = array("y", "yes", "t", "true");
            $showimage = strtolower($atts['displayimage']);
            if (in_array($showimage, $true)) {
                if (has_post_thumbnail($post->ID)) {
                    $image_attributes = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID), 'thumbnail'); 
                    $string .= '<a class="'.$atts['aclass'].'" href="'.get_permalink().'" title="'.get_the_title().'">';
                    $string .= '<img src="'.$image_attributes[0].'" width="'.$image_attributes[1].'" height="'.$image_attributes[2].'" alt="'.get_the_title().'" class="'.$atts['align'].'" /></a>';
                }
            }
            $string .= '<a class="'.$atts['aclass'].'" href="'.get_permalink().'" title="'.get_the_title().'">'.get_the_title().'</a>';
            if (has_excerpt($post->ID)) {
                $string .= ' - '.get_the_excerpt();
            }
            $string .= '</li>';
        endwhile;
        $string .= '</ul>';
    } else {
        $string = $atts['ifempty'];
    }

    wp_reset_postdata();

    return $string;
}
add_shortcode('listchildpages', 'add_shortcode_listchildpages');

La funció add_shortcode_listchildpages afegeix un codi curt personalitzat

No Records

, que podeu utilitzar a les publicacions o pàgines de WordPress per mostrar una llista de pàgines secundàries. Aquí teniu un desglossament de com funciona el codi:

  1. Variable de publicació global: La funció comença declarant la variable global $post, que s'utilitza per accedir a informació sobre la publicació o pàgina actual dins de WordPress.
  2. Atributs de codi curt: El shortcode_atts La funció estableix valors predeterminats per als atributs de codi curt. Els usuaris poden substituir-los quan insereixen el codi curt. Els atributs inclouen:
    • ifempty: Missatge per mostrar si no hi ha pàgines secundàries.
    • order: Ordre de les pàgines fills (ASC o DESC).
    • orderby: Criteris per ordenar pàgines fills (p. ex., publish_date).
    • ulclass: classe CSS per a <ul> element.
    • liclass: classe CSS per a <li> elements.
    • aclass: classe CSS per a <a> elements (àncora).
    • displayimage: si s'ha de mostrar la imatge destacada de les pàgines secundàries.
    • align: Alineació de la imatge destacada.
  3. Arguments de consulta: La funció configura a WP_Query per recuperar totes les pàgines secundàries de la pàgina actual, ordenades segons els atributs especificats.
  4. Generació de la llista:
    • Si es troben pàgines fills, la funció construeix una llista HTML no ordenada (<ul>), amb cada pàgina secundària representada per un element de llista (<li>).
    • Dins de cada element de la llista, la funció comprova si s'ha de mostrar la imatge destacada en funció de displayimage atribut.
    • La funció també crea un enllaç a cada pàgina secundària mitjançant l' <a> etiqueta i, si està disponible, afegeix l'extracte de la pàgina secundària.
  5. Sortida o missatge per defecte: Si no hi ha pàgines fills, la funció emet el missatge especificat per ifempty atribut.
  6. Restableix les dades de publicació: El wp_reset_postdata La funció restableix la consulta de WordPress, assegurant que el global $post L'objecte es restaura a la publicació de la consulta principal original.
  7. Registre de codi curt: Finalment, el add_shortcode registres de funcions listchildpages com a codi curt nou, enllaçant-lo a add_shortcode_listchildpages funció, fent-lo disponible per utilitzar-lo en publicacions i pàgines.

Aquesta funció és útil per llistar de forma dinàmica subpàgines en una pàgina principal, millorant la navegació i l'organització dins d'un lloc de WordPress. Us recomano afegir-lo a un connector personalitzat si voleu afegir-lo al vostre lloc de WordPress. O... pots descarregar el connector que he publicat.

Llista del connector de codi curt de pàgines infantils

Finalment vaig intentar empènyer el codi a un connector per facilitar la instal·lació i la utilització, i el Llista el complement de codi curt de pàgines infantils Va ser aprovat per WordPress avui! Baixeu-lo i instal·leu-lo; si us agrada, feu una revisió!

Complement de WordPress per llistar pàgines secundàries

Douglas Karr

Douglas Karr és CMO de OpenINSIGHTS i el fundador de la Martech Zone. Douglas ha ajudat a desenes d'empreses d'èxit de MarTech, ha ajudat en la diligència deguda de més de 5 mil milions de dòlars en adquisicions i inversions de Martech i continua ajudant les empreses a implementar i automatitzar les seves estratègies de vendes i màrqueting. Douglas és un expert i conferenciant de MarTech en transformació digital reconegut internacionalment. Douglas també és autor publicat d'una guia de Dummie i d'un llibre sobre lideratge empresarial.

Articles Relacionats

Torna al botó superior
a prop

Adblock detectat

Martech Zone és capaç de proporcionar-vos aquest contingut sense cap cost perquè monetitzem el nostre lloc mitjançant ingressos publicitaris, enllaços d'afiliats i patrocinis. Agrairem que elimineu el bloquejador d'anuncis mentre visualitzeu el nostre lloc.