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.