在我的Wordpress网站上,我有以下代码:
if ( is_page( 8 ) ) {
include_once('somecustompage.php');
}
在我的somecustompage.php
中,我使用自定义WP_Query
:
// WP_Query arguments
$args = array (
'post_type' => 'farewell',
'post_status' => 'publish',
'pagination' => true,
'posts_per_page' => '10',
'sticky' => false
);
// The Query
$current_farewell_query = new WP_Query( $args );
// The Loop
if ( $current_farewell_query->have_posts() ) {
$current_farewells = '<table><tr><th>NAME</th><th>LOCATION</th><th>FAREWELL</th></tr>';
while ( $current_farewell_query->have_posts() ) {
$farewell_name = ( get_field('name') ? get_field('name') : '' );
$chapels = wp_get_post_terms( get_the_ID(), 'chapels', array('fields' => 'name') );
$current_farewell_query->the_post();
$current_farewells .= '<tr>';
$current_farewells .= '<td>' . $farewell_name . '</td>';
$current_farewells .= '<td></td>';
$current_farewells .= '<td></td>';
$current_farewells .= '</tr>';
}
$current_farewells .= '</table>';
} else {
$current_farewells = 'No Current Farewells.';
}
// Restore original Post Data
wp_reset_postdata();
但是,当我尝试在此自定义循环中使用帖子ID时,get_the_ID()
和$post->ID
都返回8,这是主页面帖子ID。我需要使用新查询中返回的新帖子ID。
有人知道如何解决这个问题吗?
答案 0 :(得分:1)
我发现了问题所在。应该在此行之后调用所有内容:$current_farewell_query->the_post();
以使查询按预期工作。