Jag försöker hårt att få post-ID för det aktuella inlägget / sidan i en widgetklass men fungerar inte, jag vet att det är get_the_ID () och några andra alternativ men inte en enda fungerar i en widget. Här är min kod:

public function widget( $args, $instance ) { global $wp_query; $thePostID = $wp_query->post->ID; echo "Post ID is:" . $thePostID; } 

Svar

Du kan använda get_queried_object() här, vilket är ett omslag för $wp_query och returnerar hela inläggets metadata.

Här ”är en exempelkod:

$queried_object = get_queried_object(); if ( $queried_object ) { $post_id = $queried_object->ID; echo $post_id; } 

Svar

Prova detta:

<?php global $post; setup_postdata( $post ); echo "Post"s ID: " . get_the_ID(); ?> 

Svar

 function widget($args, $instance) { global $post; echo $post->ID; } 

Kommentarer

  • Kan du förklara koden som hur den hjälper OP
  • kan du förklara vad du vill ha så kan jag hjälpa dig.

Svar

För att bara få ID få _queried_object_id ()

Naturligtvis för sent men kan hjälpa andra som letar efter detsamma.

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *