記錄一下,wordpress,取得page的ID
一直以來,都是用
global $post; $id=$post->ID;
今天才發現,這是有問題的。
如果在page中,加上一個shortcode,而shortcode輸出一個清單(例如某個分類的文章清單),那麼這個方法就無法得到page的ID。
就是說,如果在page中有循環,那麼上邊那個方法就無法取得page的ID。
列出取得page的ID的幾種方法:
1、global
受循環影響。
global $post; $id=$post->ID;
2、get_the_ID()
受循環影響。
$postid = get_the_ID(); echo $postid;
3、get_queried_object_id()
不受循環影響。推薦。
$current_id = get_queried_object_id(); echo $current_id;
4、get_queried_object()
不受循環影響。
$object = get_queried_object(); $id = $object -> ID; echo $id;