有没有办法获取当前页面的ID,显示循环中的帖子?我需要在header.php中获取此ID。
<?php
$query = new WP_Query( array('post_type' => 'portfolio') );
while ( $query->have_posts() ) :
$query->the_post();
?>
//here I added posts
<?php endwhile; ?>
答案 0 :(得分:1)
这取决于您希望获得此ID的位置。如果您试图在已设置为显示帖子的页面上显示它(即,将页面设置为“博客”),则需要使用:
$page_id = get_option( 'page_for_posts' );
如果您想在任何其他页面上使用自定义查询,您可以使用以下命令获取此信息(在自定义循环之前):
global $post;
$page_id = $post->ID;
由于您使用的是WP_Query和the_post()
,因此您需要在使用wp_reset_postdata();
的自定义循环后重置帖子数据,以便再次使用模板标记。我怀疑你问题出在哪里 - 你用自定义循环劫持模板标签而不是重置它们。
答案 1 :(得分:0)
get_the_ID()方法可能就是您所需要的:
<?php get_the_ID(); ?>