Existe uma maneira de recuperar uma matriz de IDs de postagem consultados a partir do seguinte:
$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();
Acompanhamento:
Eu costumava wp_list_pluck
recuperar uma matriz de IDs de postagem:
$post_ids = wp_list_pluck( $latest->posts, 'ID' );
Em seguida, converteu o array em uma string usando a função implode:
$post_ids_string = implode( ',', $post_ids );
Desculpe pela pergunta ambígua.
wp-query
query-posts
Rico
fonte
fonte
wp_reset_postdata
deve estar dentro e não fora a instrução if, caso contrário você pode redefinir dados de postagem quando ele não foi alteradoRespostas:
Experimentar
Ler
wp_list_pluck
fonte
Use o
fields
argumento na sua consulta.fonte
Usar a solução de @ s-ha-dum é econômico se você precisar apenas obter os IDs e não tiver o conjunto de objetos de consulta anterior.
Aqui está o porquê:
Porque, no caso, você apenas especifica
'fields' => 'ids'
nada mais do que os IDs.Se você escolher
'fields' => 'id=>parent'
(parece realmente engraçado), também receberá os IDs dos pais.Qualquer outra maneira de usar o
'fields'
argumento não terá nenhum impacto a partir do WordPress v4.7.Mas caso você tenha a consulta, como no exemplo
wp_list_pluck
, fará o trabalho.fonte