Mostrar post sticky mediante shortcode

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:

Captura de pantalla 2015-05-18 a la(s) 11.13.08

Y la marcaremos como fija:

Captura de pantalla 2015-05-18 a la(s) 11.12.52

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

Deja un comentario

Item added to cart.
0 items - 0,00