Snažím se ve třídě widgetů získat ID aktuálního příspěvku / stránky, ale nefunguje, vím, že existuje get_the_ID () a některé další možnosti, ale uvnitř widgetu nefunguje ani jeden. Tady je můj kód:
public function widget( $args, $instance ) { global $wp_query; $thePostID = $wp_query->post->ID; echo "Post ID is:" . $thePostID; }
Odpovědět
Zde můžete použít get_queried_object()
, což je obal pro $wp_query
a vrátí celá metadata příspěvku.
Zde je ukázkový kód:
$queried_object = get_queried_object(); if ( $queried_object ) { $post_id = $queried_object->ID; echo $post_id; }
Odpověď
Zkuste toto:
<?php global $post; setup_postdata( $post ); echo "Post"s ID: " . get_the_ID(); ?>
Odpověď
function widget($args, $instance) { global $post; echo $post->ID; }
Komentáře
- Můžete vysvětlit kód tak, jak pomáhá OP
- umím vysvětlit, co chcete, pak vám mohu pomoci.
Odpovědět
Chcete-li získat ID
získat _queried_object_id ()
Samozřejmě příliš pozdě, ale může pomoci ostatním, kteří hledají to samé.