Marketing de Contido

WordPress: como enumerar páxinas fillas usando un código curto

Reconstruímos a xerarquía de sitios para varios dos nosos WordPress clientes, e unha das cousas que intentamos é organizar a información de forma eficiente. Para iso, moitas veces queremos crear unha páxina mestra e incluír un menú que lista automaticamente as páxinas debaixo dela. Unha lista de páxinas fillas ou subpáxinas.

Desafortunadamente, non hai ningunha función ou función inherente para facelo dentro de WordPress, polo que desenvolvemos un código curto para engadir ao sitio do cliente. Aquí tes como podes usar o shortcode con todas as súas variables que se atopan nunha publicación ou páxina 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"]

Desglose do uso:

  • ifempty="No child pages found": Este texto mostrarase se non hai páxinas fillas dispoñibles.
  • order="ASC": Isto ordena a lista de páxinas fillas en orde ascendente.
  • orderby="title": Isto ordena as páxinas fillas polo seu título.
  • ulclass="custom-ul-class": aplica a clase CSS "custom-ul-class" ao <ul> elemento da lista.
  • liclass="custom-li-class": aplica a clase CSS "custom-li-class" a cada un <li> elemento da lista.
  • aclass="custom-a-class": Aplica a clase CSS "personalizado-a-clase" a cada un <a> (ligazón) elemento da lista.
  • displayimage="yes": Inclúe a imaxe destacada de cada páxina filla da lista.
  • align="aligncenter": aliña as imaxes destacadas no centro.

Insira este código curto directamente na área de contido dunha publicación ou páxina de WordPress onde queres que apareza a lista de páxinas fillas. Lembra personalizar os valores de cada atributo para que se axusten ao deseño e á estrutura do teu sitio WordPress.

Ademais, se desexa un pequeno extracto ao describir cada páxina, o complemento habilita extractos en páxinas para que poida editar ese contido na configuración da páxina.

Lista de códigos curtos de páxinas fillas

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');

A función add_shortcode_listchildpages engade un código curto personalizado

No Records

, que podes usar nas publicacións ou páxinas de WordPress para mostrar unha lista de páxinas fillas. Aquí tes un desglose de como funciona o código:

  1. Variable de publicación global: A función comeza declarando a variable global $post, que se usa para acceder a información sobre a publicación ou páxina actual dentro de WordPress.
  2. Atributos de código curto: A shortcode_atts Esta función establece valores predeterminados para os atributos de código curto. Os usuarios poden anular estes cando insiran o código curto. Os atributos inclúen:
    • ifempty: Mensaxe para mostrar se non hai páxinas fillas.
    • order: Orde das páxinas fillas (ASC ou DESC).
    • orderby: Criterios para ordenar páxinas fillas (por exemplo, publish_date).
    • ulclass: Clase CSS para o <ul> elemento.
    • liclass: Clase CSS para o <li> elementos.
    • aclass: Clase CSS para o <a> elementos (áncora).
    • displayimage: indica se mostrar a imaxe destacada das páxinas fillas.
    • align: Aliñación da imaxe destacada.
  3. Argumentos de consulta: A función configura a WP_Query para recuperar todas as páxinas fillas da páxina actual, ordenadas segundo os atributos especificados.
  4. Xerando a Lista:
    • Se se atopan páxinas fillas, a función constrúe unha lista HTML non ordenada (<ul>), con cada páxina secundaria representada por un elemento de lista (<li>).
    • Dentro de cada elemento da lista, a función comproba se quere mostrar a imaxe destacada en función do displayimage atributo.
    • A función tamén crea unha ligazón a cada páxina filla usando o <a> etiqueta e, se está dispoñible, engade o extracto da páxina filla.
  5. Mensaxe de saída ou predeterminada: Se non hai páxinas fillas, a función mostra a mensaxe especificada polo ifempty atributo.
  6. Restablecer datos de publicación: A wp_reset_postdata función restablece a consulta de WordPress, garantindo que o global $post restaurase o obxecto na publicación da consulta principal orixinal.
  7. Rexistro de shortcode: Finalmente, o add_shortcode rexistros de funcións listchildpages como un novo código curto, vinculándoo ao add_shortcode_listchildpages función, facéndoo dispoñible para o seu uso en publicacións e páxinas.

Esta función é útil para enumerar subpáxinas de forma dinámica nunha páxina principal, mellorando a navegación e a organización dentro dun sitio de WordPress. Recomendo engadilo a un complemento personalizado se queres engadilo ao teu sitio de WordPress. Ou... podes descargar o complemento que publiquei.

Lista de páxinas secundarias Shortcode Plugin

Finalmente empecei a empuxar o código nun complemento para que fose máis doado de instalar e utilizar e do Lista un complemento de código abreviado de páxinas infantís foi aprobado por WordPress hoxe! Descárgueo e instáleo; se che gusta, fai unha revisión!

Complemento de WordPress para incluír páxinas fillas

Douglas Karr

Douglas Karr é CMO de OpenINSIGHTS e o fundador da Martech Zone. Douglas axudou a decenas de startups exitosas de MarTech, axudou na debida dilixencia de máis de 5 millóns de dólares en adquisicións e investimentos en Martech e segue axudando ás empresas a implementar e automatizar as súas estratexias de vendas e mercadotecnia. Douglas é un experto e relator de MarTech en transformación dixital recoñecido internacionalmente. Douglas tamén é autor publicado dunha guía de Dummie e dun libro de liderado empresarial.

artigos relacionados

Botón de volta ao principio
preto

Adblock detectado

Martech Zone pode fornecerche este contido sen ningún custo porque monetizamos o noso sitio mediante ingresos publicitarios, ligazóns de afiliados e patrocinios. Agradeceríamos que elimines o teu bloqueador de anuncios mentres visitas o noso sitio.