您可以使用所有template tags 在这个文件中,要获取ID,只需使用get_the_ID()
(或the_ID()
输出)。
get_the_ID()
将检索当前帖子的数字ID。它没有参数,返回当前帖子的ID。
the_ID()
将显示当前帖子的数字ID。它也没有参数。
如果要访问包含自定义循环的页面ID,可以按如下方式执行:
解决方案1(使用全局变量很简单,但不是很好)
在页面模板中:
<?php
global $parent_page_id;
$parent_page_id = get_the_ID();
$paged = ( get_query_var( \'paged\' ) ) ? get_query_var( \'paged\' ) : 1;
$args = array( \'post_type\' => \'post\', \'paged\' => $paged );
$temp = $wp_query;
$wp_query = null;
$wp_query = new WP_Query( $args );
$wp_query->query( $args );
?>
<?php if ( $wp_query->have_posts() ) : ?>
<?php while ( $wp_query->have_posts() ) : $wp_query->the_post(); ?>
<?php get_template_part( \'content\', \'custom\' ); ?>
<?php endwhile; ?>
<?php wp_reset_postdata(); ?>
<?php else : ?>
<?php get_template_part( \'no-results\', \'index\' ); ?>
<?php endif; ?>
在您的帖子内容模板中:
...
global $parent_page_id; // now you can use parent_page_template variable
...
解决方案2(自定义查询的更好方式)在页面模板中:
<?php
$paged = ( get_query_var( \'paged\' ) ) ? get_query_var( \'paged\' ) : 1;
$args = array( \'post_type\' => \'post\', \'paged\' => $paged );
$my_custom_query = new WP_Query( $args );
?>
<?php if ( $my_custom_query->have_posts() ) : ?>
<?php while ( $my_custom_query->have_posts() ) : $my_custom_query->the_post(); ?>
<?php get_template_part( \'content\', \'custom\' ); ?>
<?php endwhile; ?>
<?php wp_reset_postdata(); ?>
<?php else : ?>
<?php get_template_part( \'no-results\', \'index\' ); ?>
<?php endif; ?>
在您的帖子内容模板中:
...
... $wp_query->queried_object_id; // it will contain object queried in original wp_query
...