2014-11-17 15 views
5

Tôi nghĩ rằng đó phải là câu hỏi khá cơ bản nhưng tôi chỉ mới bắt đầu. Ai đó có thể xem xét 3 phiên bản của cùng một (?) Mã dưới đây và nói sự khác biệt là gì? Tất cả chúng dường như hoạt động tốt trong vòng lặp mà tôi đang nghiên cứu.get_the_id so với post-> ID so với the_id/get_post_meta

Nên sử dụng cái nào: $post->ID, $the_ID hoặc get_the_id()? Có cần thiết để có global $post; không?

global $post; 
$content = get_post_meta($post->ID, ‘my_custom_field', true); 
echo $content; 

hoặc

$content = get_post_meta($the_ID, ‘my_custom_field', true); 
echo $content; 

hoặc

$content = get_post_meta(get_the_id(), ‘my_custom_field’, true); 
echo $content; 

Rất cám ơn sự giúp đỡ của bạn

Trả lời

4

Nếu bạn đang ở trong một vòng lặp WordPress, sau đó $post->ID nó giống như sử dụng get_the_ID()

Bạn không cần phải toàn cầu hoá $post vì nó đã nằm trong phạm vi của vòng lặp WordPress.

Tôi chưa bao giờ thấy mã sử dụng $the_ID, vì vậy tôi sẽ tránh sử dụng điều đó.

Lựa chọn an toàn nhất là sử dụng get_the_ID()

+0

Cảm ơn felipelavinz về câu trả lời nhanh chóng và đầy đủ thông tin. Có ý nghĩa với tôi. Nó là xấu của tôi với $ the_ID như tôi nghĩ rằng tôi đã nhìn thấy the_ID() và không phải là $ the_ID. Có nói rằng mã trên hoạt động tốt với nó? – TheElear

+0

Không, 'the_ID()' lặp lại $ post-> ID để nó không hoạt động khi sử dụng 'get_post_meta()' – felipelavinz

+0

Bạn là chính xác. Tôi đã kiểm tra và nó không hoạt động với the_ID(). – TheElear

Các vấn đề liên quan