WordPressにカレンダーのカスタム投稿タイプがあります。テンプレートでは正常に機能していますが、ループを実行するためのより良い方法があることはわかっています。その月(1月、2月、3月など)にカスタム分類法を使用し、ページ上の投稿を月ごとに並べ替えています。現時点では、必要な機能を取得するために12の個別のループを実行する必要があることを意味しますが、これは正しい方法ではないと確信しています。
これが私が使っているコードです、どんな助けでも大歓迎です。ありがとう!
<div class="module">
<h2>January</h2>
<?php // Annual Events Posts
$calendar = new WP_Query('post_type=calendar&month=January');
while($calendar->have_posts()) : $calendar->the_post();
?>
<div class="grid" style="background:none">
<div class="col-1">
<h3>
<?php
the_title();
?>
</h3>
<h4>
<?php
$dateValue = get_post_meta( $post->ID, 'rhc_when', true );
if($dateValue != '') {
echo $dateValue;
};
$timeValue = get_post_meta( $post->ID, 'rhc_time', true );
if($timeValue != '') { ?>, <?php
echo $timeValue;
}
?>
</h4>
<?php $content = the_content();
if( $content !='') {
echo $content;
};
?>
</div>
</div>
<?php
endwhile;
wp_reset_postdata();
?>
<hr>
<h2>February</h2>
<?php // Annual Events Posts
$calendar = new WP_Query('post_type=calendar&month=February');
while($calendar->have_posts()) : $calendar->the_post();
?>
<div class="grid" style="background:none">
<div class="col-1">
<h3>
<?php
the_title();
?>
</h3>
<h4>
<?php
$dateValue = get_post_meta( $post->ID, 'rhc_when', true );
if($dateValue != '') {
echo $dateValue;
};
$timeValue = get_post_meta( $post->ID, 'rhc_time', true );
if($timeValue != '') { ?>, <?php
echo $timeValue;
}
?>
</h4>
<?php $content = the_content();
if( $content !='') {
echo $content;
};
?>
</div>
</div>
<?php
endwhile;
wp_reset_postdata();
?>