Làm cách nào để có được ID bài đăng của trang / bài đăng hiện tại trong một widget?


7

Tôi đang cố gắng để có được ID bài đăng của bài đăng / trang hiện tại bên trong một lớp widget nhưng không hoạt động, tôi biết có get_the_ID () và một số tùy chọn khác nhưng không phải là một hoạt động bên trong một widget. Đây là mã của tôi:

public function widget( $args, $instance ) {


   global $wp_query;

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

}

Câu trả lời:


8

Bạn có thể sử dụng get_queried_object()ở đây, đây là một trình bao bọc cho $wp_queryvà trả về toàn bộ siêu dữ liệu bài đăng.

Đây là một mã mẫu:

$queried_object = get_queried_object();

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

0

Thử cái này:

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

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

 }

Bạn có thể giải thích mã như cách nó giúp OP
bravokeyl

Bạn có thể giải thích những gì bạn muốn sau đó tôi có thể giúp bạn.
Nanhe Kumar

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.