¿Cómo puedo obtener el ID de una entrada desde un bucle WP_Query?
16 ene 2016, 01:51:30
Vistas: 148K
Votos: 16
Tengo un bucle WP_Query que obtiene entradas de cierto tipo. Estas entradas tienen meta datos personalizados, por lo que necesito poder obtener el ID de la entrada sin mostrarlo para poder mostrar los meta datos de esa entrada. ¿Cómo puedo obtener el ID de la entrada sin mostrarlo? Este es mi 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 = ??????; ?>
<h4><?php echo the_title(); ?></h4><?php
$dish_args = array(
'post_type' => '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(???????);?>
<h6><?php echo the_title(); ?> - <?php echo $dish_meta[0]['price']; ?></h6>
<p><?php echo the_content(); ?></p><?php
endwhile;
endwhile;

ShoeLace1291
360
Comentarios
Todas las respuestas a la pregunta
2
0
get_the_ID()
puede (únicamente) usarse dentro del loop.
Esta función obtiene el ID
del post actual que está siendo procesado por el loop.
Puedes usarla directamente si solo la necesitas una vez:
$dish_meta = get_post_meta( get_the_ID(), 'dish_meta', true );
También puedes almacenarla en una variable si la necesitas más de una 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
Referencia: get_the_ID()

N00b
2.18K
16 ene 2016 10:24:53
0
La función get_the_ID() te proporcionará el ID de la publicación..,
$args = array(
's' => $_POST['search_text'],
'posts_per_page' => -1,
'post_type' => 'address'
);
$query = new WP_Query( $args );
if ( $query->have_posts() ) {
while ( $query->have_posts() ) {
$query->the_post();
$address_post_id = get_the_ID() ;
}
}

YoJey Thilipan
161
31 ago 2018 10:42:40
Preguntas relacionadas