Bardzo się staram uzyskać identyfikator aktualnego posta / strony w klasie widżetów, ale nie działa, wiem, że jest get_the_ID () i kilka innych opcji, ale żadna nie działa wewnątrz widżetu. Oto mój kod:

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

Odpowiedź

W tym miejscu możesz wykorzystać get_queried_object() , który jest opakowaniem dla $wp_query i zwraca całe metadane postu.

Oto przykładowy kod:

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

Odpowiedź

Spróbuj tego:

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

Odpowiedź

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

Komentarze

  • Czy możesz wyjaśnić, jak działa kod OP
  • czy możesz wyjaśnić, czego chcesz, a ja pomogę.

Odpowiedź

Aby po prostu uzyskać ID pobierz _queried_object_id ()

Oczywiście za późno, ale może pomóc innym, którzy szukają tego samego.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *