Publicaciones recientes en cualquier publicación o página a través de shortcode

WordPress proporciona un widget que se puede usar para mostrar publicaciones recientes en cualquier barra lateral o ubicación con widgets de un template de nuestro tema.
Del mismo modo, muchos temas de WordPress ya brindan algún tipo de funcionalidad de “publicaciones recientes” (es mi caso, con mi tema huuguu compacto da plataforma huuguu.es ), por lo que los usuarios pueden mostrar en ubicaciones específicas alrededor del tema.
Dicha funcionalidad es excelente y útil para mostrar publicaciones recientes en casi cualquier lugar de su tema. El problema es que esos métodos no funcionan para mostrar publicaciones recientes dentro de publicaciones, páginas y tipos de publicaciones personalizadas. Como dentro del contenido de la publicación en sí.
Abajo apresento mi snippet de publicaciones recientes para ser usada a través de shortcode.
//recent posts shortcode
function hugocalixto_recent_posts_shortcode($atts, $content = null) {
global $post;
extract(shortcode_atts(array(
'cat' => '',
'num' => '5',
'order' => 'DESC',
'orderby' => 'post_date',
), $atts));
$args = array(
'cat' => $cat,
'posts_per_page' => $num,
'order' => $order,
'orderby' => $orderby,
);
$output = '';
$posts = get_posts($args);
foreach($posts as $post) {
setup_postdata($post);
$output .= '<li><a href="'. get_the_permalink() .'">'. get_the_title() .'</a></li>';
}
wp_reset_postdata();
return '<ul>'. $output .'</ul>';
}
add_shortcode('hugocalixto_recent_posts', 'hugocalixto_recent_posts_shortcode');
Cómo usar el shortcode de publicaciones recientes
Para usar el shortcode, agregue lo siguiente a cualquier Entrada o Página de WP:
[hugocalixto_recent_posts]
También poder usar el shortcode cambiando la cantidad de entradas y fijando una categoría, agregue lo siguiente a cualquier Entrada o Página de WP:
[hugocalixto_recent_posts num="5" cat="7"]
5 es la cantidad de entradas y 7 en ID de la categoría
O usarlo cambiando la cantidad de entradas y cambiar la ordenación y el tipo de ordenación, agregue lo siguiente a cualquier Entrada o Página de WP:
[hugocalixto_recent_posts num="10" order="desc" orderby="post_date"]
10 es la cantidad de entradas, order puedes usar ASC o DESC y el orderby para conocer las otras opciones ademas del POST_DATE debes acceder: https://developer.wordpress.org/reference/classes/wp_query/#order-orderby-parameters
Conclusión
¿Has visto lo fácil que es?
Al final a través de esta snippet podemos implementar esta funcionalidad en un sitio web o tienda virtual y utilizarla en páginas e incluso entradas con apenas insertar el shortcode.
¡Importante! No olvides insertar el snippet en el functions.php de su “tema hijo” o en un “plugins de funciones“. Si lo inserta en su tema principal, corre el riesgo de perderlo en la próxima actualización del tema activo.
Si te ha gustado y aprovechado lo que has leído, comparte, comenta o contacta que estaré encantado de intercambiar una idea contigo y responder a tus preguntas.