アーカイブページのように扱われる私の製品のためのwoocmerceページがあります。アーカイブページのIDを取得する必要がありますが、$post->ID
やget_the_id()
などを使用している場合は明らかです。そのページの最新投稿のIDを取得します。
これが本当のページであるならば、あなたはget_queried_object_id()
でその特定のページのIDを得ることができます。これは機能し、それが使用されている特定のページ、シングルページ、カテゴリページ、分類学ページ、タグページ、および著者ページにIDを返します。本当の日時のアーカイブとホームページはではありませんIDを持っています)
次のことができます
$page_id = get_queried_object_id();
echo $page_id;
非常に重要な注意点の1つですが、query_posts
はメインのクエリを中断し、上記の機能を中断します。これは不正確なデータにつながります。ですから、query_posts
を絶対に使わないようにしてください。
あなたは本当にIDを知る必要がありますか、そのために@ PieterGoosensの答えを見ますか、それともあなたが投稿タイプproduct
アーカイブにいるかどうか知る必要があるだけですか?後者は is_post_type_archive()
を使うことで簡単に実現できます。
if ( is_post_type_archive( 'product' ) ) {
// code
}