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 el fundador de la Martech Zone y experto reconocido en transformación digital. Doug es un Orador público principal y de marketing. Es el vicepresidente y cofundador de Highbridge, una firma especializada en ayudar a las empresas empresariales a transformar digitalmente y maximizar su inversión en tecnología utilizando tecnologías de Salesforce. Ha desarrollado estrategias de marketing y productos digitales para Tecnologías Dell, Ve papi, Salesforce, Tendencias web y Smartfocus. Douglas también es el autor de Blogs corporativos para tontos y co-autor de El mejor libro de negocios.

¿Qué piensas?

Este sitio usa Akismet para reducir el correo no deseado. Descubra cómo se procesan los datos de sus comentarios.

Artículos Relacionados