¿Cómo obtener el ID del post/página actual dentro de un widget?

22 oct 2014, 10:33:36
Vistas: 35.9K
Votos: 11

Estoy tratando de obtener el ID del post/página actual dentro de una clase de widget pero no funciona. Sé que existe get_the_ID() y algunas otras opciones, pero ninguna funciona dentro de un widget. Aquí está mi código:

public function widget( $args, $instance ) {

   // Obtener el objeto global de consulta
   global $wp_query;

   $thePostID = $wp_query->post->ID;
   echo 'El ID del Post es:' . $thePostID;

}
0
Todas las respuestas a la pregunta 4
0
10

Puedes hacer uso de get_queried_object() aquí, que es un envoltorio para $wp_query y devuelve todos los metadatos del post.

Aquí tienes un código de ejemplo:

$queried_object = get_queried_object();

if ( $queried_object ) {
    $post_id = $queried_object->ID;
    echo $post_id;
}
22 oct 2014 10:50:37
0

Prueba esto:

<?php
global $post;
setup_postdata( $post );
echo "ID del post: " . get_the_ID();
?>
22 oct 2014 11:01:40
0

Para obtener solo el ID get_queried_object_id()

Por supuesto, es un poco tarde pero puede ayudar a otros que estén buscando lo mismo.

19 may 2020 15:33:48
2
 function widget($args, $instance) {
         global $post;
         echo $post->ID;

 }
31 dic 2016 06:35:40
Comentarios

¿Puedes explicar el código y cómo ayuda al OP (publicador original)?

bravokeyl bravokeyl
31 dic 2016 08:48:18

¿Puedes explicar lo que quieres para que pueda ayudarte?

Nanhe Kumar Nanhe Kumar
31 dic 2016 21:57:23