Buenas, hoy os explicare como mostrar mediante un shortcode, las entradas marxacadas como fijas (sticky).
Lo primero será crear una entrada y marcarla como fija, en la parte de la dercha editaremos la visiblidad de la entrada:
Y la marcaremos como fija:
Luego iremos a al archivo functions de la plantilla que estemos usando y añadiremos el siguiente código:
function latest_sticky() {
/* obtener artículos destacados */
$sticky = get_option( 'sticky_posts' );
/* Ordenar , los má recientes arriba */
rsort( $sticky );
/* Obtener los últimos 5 (cambiar 5 por el número deseado) */
$sticky = array_slice( $sticky, 0, 5 );
/* Query destacados */
$the_query = new WP_Query( array( 'post__in' => $sticky, 'ignore_sticky_posts' => 1 ) );
// The Loop
if ( $the_query->have_posts() ) {
$return .= '<ul>';
while ( $the_query->have_posts() ) {
$the_query->the_post();
$return .= '<li><a href="' .get_permalink(). '" title="' . get_the_title() . '">' . get_the_title() . '</a><br />' . get_the_excerpt(). '</li>';
}
$return .= '</ul>';
} else {
// no posts found
}
/* reset */
wp_reset_postdata();
return $return;
}
add_shortcode('latest_stickies', 'latest_sticky');
//para usar el shortcode [lastest_stickies]
Si lo queremos usar en un widget debemos añadir a finar este código:
add_filter('widget_text', 'do_shortcode');