Làm thế nào để có được ID trang hiện tại bên ngoài vòng lặp?


36

Làm thế nào để có được ID trang hiện tại bên ngoài vòng lặp?


3
Lạ thật, bạn đang sử dụng mã như thế nào, bạn đã thử cái gì. Bạn đang gặp phải lỗi gì. Khi nó đứng, rất khó để giúp bạn và tất cả các câu trả lời là một cú đánh trong bóng tối. Vui lòng gửi bản chỉnh sửa
Pieter Goosen

<?php global $post; $thePostID=$post->ID;?> <?php elseif($thePostID==35) : ?>
Muhammad Shoaib Murtaza

3
Vui lòng gửi một chỉnh sửa với tất cả các mã / thông tin bổ sung. Đừng sử dụng phần bình luận cho những thứ nên có trong câu hỏi của bạn :-)
Pieter Goosen

Bài đăng của bạn đã được tự động gắn cờ là chất lượng thấp, vui lòng tuân thủ các yêu cầu của tôi ở trên :-)
Pieter Goosen

1
Như tôi đã nói, tất cả thông tin đó sẽ đi vào câu hỏi của bạn, không phải trong phần bình luận. Vui lòng chỉnh sửa câu hỏi của bạn
Pieter Goosen

Câu trả lời:


56

Thử

global $post;
echo $post->ID;

hoặc (tôi không biết sự khác biệt)

global $wp_query;
echo $wp_query->post->ID;

tôi đã thử tất cả những thứ tìm thấy trên google nhưng không có gì xảy ra
Muhammad Shoaib Murtaza

thật khó để biết "tất cả những thứ bạn tìm thấy" là gì :) đảm bảo mã nằm trong một hàm, mà bạn gọi hàm đó và bắt đầu gỡ lỗi bằng cách lặp lại một cái gì đó khác trước khi phải nhìn thấy ...
caramba

2
tôi đã không nhận được id bằng cách sử dụng chức năng và "công cụ" làglobal $wp_query; $thePostID = $wp_query->post->ID; global $post; $thePostID = $post->ID; global $wp_query; $page = $wp_query->get_queried_object(); $page_id = $page->ID; $page_id = get_queried_object_id();
Muhammad Shoaib Murtaza

điều đầu tiên là đúng ...
Muhammad Shoaib Murtaza

1
Các giải pháp này sẽ chỉ cung cấp cho bạn ID trang nếu được sử dụng trước khi Vòng lặp bắt đầu. Khi Vòng lặp bắt đầu, $postsẽ lần lượt được đặt cho từng bài đăng trong Vòng lặp.
s_ha_dum

17

Bạn chỉ có thể làm,

$page_id = get_queried_object_id();

-7

bạn có thể làm điều đó bằng cách thêm vào bên dưới code.it sẽ cung cấp cho bạn id trang hiện tại.

 $postid = get_the_ID();
 echo $postid;

9
get_the_ID()là một hàm Loop-- hay còn gọi là hàm được sử dụng bên trong Loop. Do đó, nó không thực sự giải quyết câu hỏi "Làm thế nào để có id trang hiện tại bên ngoài vòng lặp?"
s_ha_dum
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.