Wie erhalte ich die Post-ID der aktuellen Seite / des Posts in einem Widget?


7

Ich bemühe mich sehr, die Post-ID des aktuellen Posts / der aktuellen Seite in einer Widget-Klasse zu erhalten, aber es funktioniert nicht. Ich weiß, dass es get_the_ID () und einige andere Optionen gibt, aber keine einzige funktioniert in einem Widget. Hier ist mein Code:

public function widget( $args, $instance ) {


   global $wp_query;

   $thePostID = $wp_query->post->ID;
   echo 'Post ID is:' . $thePostID;

}

Antworten:


8

Sie können get_queried_object()hier einen Wrapper für $wp_querydie gesamten Post-Metadaten verwenden und diese zurückgeben.

Hier ist ein Beispielcode:

$queried_object = get_queried_object();

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

0

Versuche dies:

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

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

 }

Können Sie den Code erklären, wie es dem OP hilft
bravokeyl

Kannst du erklären, was du willst? Dann kann ich dir helfen.
Nanhe Kumar

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.