¿Hay alguna manera de recuperar una serie de identificadores de publicación consultados a partir de lo siguiente:
$latest = new WP_Query( array (
'orderby' => 'rand',
'posts_per_page' => 3
));
if ( $latest -> have_posts() ) : while ( $latest -> have_posts() ) : $latest -> the_post();
get_template_part( 'templates/content', 'post' );
endwhile; endif; wp_reset_postdata();
Seguir:
Solía wp_list_pluck
recuperar una serie de identificadores de publicación:
$post_ids = wp_list_pluck( $latest->posts, 'ID' );
Luego convirtió la matriz en una cadena usando la función implode:
$post_ids_string = implode( ',', $post_ids );
Perdón por la pregunta ambigua.
wp-query
query-posts
Rico
fuente
fuente
wp_reset_postdata
debe estar dentro y no fuera de la sentencia if, de lo contrario podría restablecer los datos de correos cuando no se ha cambiadoRespuestas:
Tratar
Leer
wp_list_pluck
fuente
Use el
fields
argumento en su consulta.fuente
Usar la solución de @ s-ha-dum es económico si solo necesita obtener los ID y no tiene un conjunto de objetos de consulta anterior.
Aquí es por qué:
Porque en el caso solo especificas
'fields' => 'ids'
nada más obtendrás a cambio que los ID.Si quisieras ir con
'fields' => 'id=>parent'
(se ve muy divertido) obtendrá también la identificación de los padres.Cualquier otra forma de usar
'fields'
argumentos 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.fuente