Obtener categoría y extracto de wp_get_recent_posts

4

Estoy usando la función wp_get_recent_posts para devolver los últimos tres mensajes en una página y quiero obtenerlos con sus títulos, categorías y un breve extracto. Cuando miro la documentación sobre esa función, veo que devuelve una matriz de elementos, pero no dice qué está disponible en esa matriz para extraer, así que estoy probando adivinando los nombres ( vea esta página ): mi conjetura sobre el post_content fue correcta.

Para obtener la categoría, probé $recent["category"] , $recent["the_category"] y $recent["post_category"] y para el extracto también probé esos, excepto reemplazar la categoría con el extracto. El código que estoy usando está abajo:

<?php
                    $args = array( 'numberposts' => '5' );
                    $recent_posts = wp_get_recent_posts( $args );
                    foreach( $recent_posts as $recent ){

                        echo '<h2><a href="' . get_permalink($recent["ID"]) . '">' .   $recent["post_title"].'</a></h2><h3>Posted in '. $recent["the_category"] .'</h3><p>'.$recent["post_content"].'</p>';


                    }
                    wp_reset_query();
                ?>
    
pregunta WashDCDev 14.12.2016 - 15:45

1 respuesta

3

Sugeriría usar WP_Query() en su lugar. Al igual que:

<?php
$category = 'whatever';
$new_query = new WP_Query(
    array(
        'post_type'         => 'post',
        'posts_per_page'    => -1,
        'category_name'     => $category;
    )
);

if ($new_query->have_posts()) {
    $i = 0;
    while ($new_query->have_posts()) {
        $new_query->the_post();
        $postid = get_the_ID();
        // Your output code.
    }
}
wp_reset_postdata();
?>

Simplemente cambia $category a lo que necesites. Haz que sea una matriz () si quieres tener varias categorías.
Sin embargo, si va a hacer esto para un tipo de publicación personalizada, debe usar la matriz tax_query , así:

'tax_query' => array(
    array(
        'taxonomy' => 'people',
        'field'    => 'slug',
        'terms'    => 'bob',
    ),
),

El ejemplo anterior se toma directamente de la WordPress Codex .

    
respondido por el Patrik Alienus 14.12.2016 - 16:14

Lea otras preguntas en las etiquetas