Como posso obter o ID da postagem de um loop WP_Query?

Eu tenho um loop WP_Query que obtém posts de um determinado tipo. Essas postagens têm postagem personalizada, então eu preciso ser capaz de obter o ID da postagem sem fazer eco para que eu possa exibir o meta dessa publicação. Como posso obter o ID da postagem sem fazer eco disso? Este é o meu código:

$menu_id = get_the_id(); $category_args = array( 'post_type' => 'category', 'post_parent' => $menu_id ); $menu_categories = new WP_Query($category_args); while($menu_categories->have_posts()) : $menu_categories->the_post(); $category_id = ??????; ?> 

'dish', 'post_parent' => $category_id ); $category_dishes = new WP_Query($dish_args); while($category_dishes->have_posts()) : $category_dishes->the_post(); $dish_meta = get_post_meta(???????);?>
-

<?php endwhile; endwhile;

Solutions Collecting From Web of "Como posso obter o ID da postagem de um loop WP_Query?"

get_the_ID() pode (somente) ser usado dentro do loop.

Isso recupera o ID da postagem atual manipulada pelo loop.


Você pode usá-lo por conta própria se você precisar dele apenas uma vez:

 $dish_meta = get_post_meta( get_the_ID(), 'dish_meta', true ); 

Você também pode armazená-lo como uma variável se precisar mais de uma vez:

 $post_id = get_the_ID(); $dish_meta = get_post_meta( $post_id, 'dish_meta', true ); $drink_meta = get_post_meta( $post_id, 'drink_meta', true ); print_r( $post_id ); //etc 

Referência: get_the_ID ()