Saltar al contenido

Wordpress - ¿Obtener ID de publicación de WP_Query?

Solución:

Utilizar el fields argumento en su consulta.

campos (cadena): qué campos devolver. Todos los campos son devueltos por
defecto. Hay otras dos opciones: - 'ids': devuelve una matriz de ID de publicación. - 'id => parent' - Devuelve una matriz asociativa [ parent => ID, … ].

WP_Query

$latest = new WP_Query( array (
    'orderby'               => 'rand',
    'posts_per_page'        => 3,
    'fields' => 'ids'
));
var_dump($latest->posts);

Tratar

$post_ids = wp_list_pluck( $latest->posts, 'ID' );

Leer wp_list_pluck

Usar la solución de @ s-ha-dum es económico si solo necesita obtener las identificaciones y no tiene un conjunto de objetos de consulta anterior.

He aquí por qué:

switch ( $q['fields'] ) {
    case 'ids':
        $fields = "$wpdb->posts.ID";
        break;
    case 'id=>parent':
        $fields = "$wpdb->posts.ID, $wpdb->posts.post_parent";
        break;
    default:
        $fields = "$wpdb->posts.*";

Porque en el caso solo especificas 'fields' => 'ids' nada más obtendrá a cambio que las identificaciones.

Si pudieras ir con 'fields' => 'id=>parent' (Parece realmente divertido) también obtendrá las identificaciones de los padres.

De cualquier otra forma usando 'fields' El argumento no tendrá ningún impacto a partir de WordPress v4.7.

Pero en caso de que tenga la consulta como en el ejemplo wp_list_pluck hará el trabajo.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada.