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.