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.