アーカイブテンプレートでカスタム投稿タイプをクエリしています。各投稿にはメタ値が添付されています。ループは各投稿を一覧表示しますが、各投稿のメタ値は最初の投稿から取得されます。だから、私は投稿のリストを持っていて、すべてのメタ値は同じで、データは最初の投稿に保存されています。データはデータベースに適切に保存されます。これが私のループです:
$current_time = current_time('mysql');
list( $today_year, $today_month, $today_day, $hour, $minute, $second ) = split( '([^0-9])', $current_time );
$current_timestamp = $today_year . $today_month . $today_day . $hour . $minute;
$args = array( 'post_type' => 'event',
'order' => 'ASC',
'orderby' => 'meta_value_num',
'posts_per_page' => 20,
'meta_key' => '_start_eventtimestamp',
'meta_query' => array(
array(
'key' => '_start_eventtimestamp',
'value' => $current_timestamp,
'compare' => '>'
)
)
);
// Gets the event start month from the meta field
$month = get_post_meta( $post->ID, '_start_month', true );
// Converts the month number to the month name
//$month = $wp_locale->get_month_abbrev( $wp_locale->get_month( $month ) );
// Gets the event start day
$day = get_post_meta( $post->ID, '_start_day', true );
// Gets the event start year
$year = get_post_meta( $post->ID, '_start_year', true );
$numdays = get_post_meta( $post->ID, '_tour_numdays', true );
$price = get_post_meta( $post->ID, '_tour_price', true );
query_posts( $args );
while (have_posts() ) : the_post();
echo '<ul>';
echo '<li>' . $month . '/' . $day .'</li>';
echo '<li><a href="' . get_permalink() . '">' . get_the_title() . '</a></li>';
echo '<li>' . $numdays . '</li>';
echo '<li>' . $price . '</li>';
echo '<li><a href="#">Join this Trip</a></li>';
echo '</ul>';
endwhile;
解決策が見つかりません。クエリをからWP_Query
に変更しようとしましquery_posts
たが、それでもうまくいきません。