Marketing de contenido

PHP: use la API de WordPress para crear un código corto para enumerar subpáginas

Estamos trabajando en una implementación bastante compleja para un cliente empresarial en este momento. El sitio se está construyendo en WordPress pero tiene un montón de campanas y silbatos. A menudo, cuando estoy haciendo este tipo de trabajo, me gusta guardar el código personalizado para reutilizarlo más tarde en otros sitios. En este caso, pensé que era una función tan útil, quería compartirla con el mundo. Estamos usando el Tema de WordPress de Avada con Fusion Page Builder como tema principal, e implementando bastante código personalizado en nuestro tema secundario.

WordPress ya tiene un par de funciones en su API que se pueden usar para listar subpáginas, como wp_list_pages y get_pages. El problema es que no devuelven suficiente información si espera crear dinámicamente una lista con mucha información.

Para este cliente, querían publicar descripciones de puestos y que la lista de puestos vacantes se generara automáticamente en orden descendente según la fecha de publicación. También querían mostrar un extracto de la página.

Entonces, primero, tuvimos que agregar soporte de extractos a la plantilla de página. En functions.php para su tema, agregamos:

add_post_type_support ('página', 'extracto');

Luego, necesitábamos registrar un código abreviado personalizado que generaría la lista de subpáginas, los enlaces a ellas y el extracto de ellas. Haz esto, tenemos que usar el WordPress Loop. En functions.php, agregamos:

// Listar subpáginas en una función de lista dknm_list_child_pages ($ atts, $ content = "") {global $ post; $ atts = shortcode_atts (array ('ifempty' => 'Sin registros', 'aclass' => ''), $ atts, 'list_subpages'); $ args = array ('post_type' => 'página', 'posts_per_page' => -1, 'post_parent' => $ post-> ID, 'orderby' => 'publish_date', 'order' => 'DESC' ,); $ parent = new WP_Query ($ args); if ($ parent-> have_posts ()) {$ string. = $ content. ' '; while ($ padre-> have_posts ()): $ padre-> the_post (); $ cadena. = ' '.get_the_title ().' '; if (has_excerpt ($ publicación-> ID)) {$ string. = '-' .get_the_excerpt (); } $ cadena. = ' '; end while; } más {$ string = ' '. $ atts [' ifempty '].' '; } wp_reset_postdata (); return $ cadena; } add_shortcode ('lista_subpáginas', 'dknm_list_child_pages');

Ahora, el código abreviado se puede implementar en todo el sitio para mostrar las páginas secundarias con un enlace y un extracto. Uso:

[list_subpages aclass = "button" ifempty = "Lo sentimos, actualmente no tenemos puestos vacantes"] Lista de trabajos [/ list_subpages]

El resultado es una lista ordenada, limpia y agradable de los trabajos publicados, que son páginas secundarias en la página de su carrera.

Si no hubo trabajos publicados (no hay páginas secundarias), se publicarán:

Lo sentimos, actualmente no tenemos vacantes.

Si hubo trabajos publicados (páginas secundarias), se publicarán:

Lista de trabajos:

Douglas Karr

Douglas Karr es CMO de AbrirINSIGHTS y el fundador de la Martech Zone. Douglas ha ayudado a docenas de nuevas empresas exitosas de MarTech, ha colaborado en la diligencia debida de más de $5 mil millones en adquisiciones e inversiones de Martech y continúa ayudando a las empresas a implementar y automatizar sus estrategias de ventas y marketing. Douglas es un orador y experto en transformación digital y MarTech reconocido internacionalmente. Douglas también es autor de una guía para principiantes y de un libro sobre liderazgo empresarial.

Artículos Relacionados

Volver al botón superior
Cerrar

Adblock detectado

Martech Zone puede proporcionarle este contenido sin costo porque monetizamos nuestro sitio a través de ingresos publicitarios, enlaces de afiliados y patrocinios. Le agradeceríamos que elimine su bloqueador de anuncios mientras visita nuestro sitio.