申し訳ありません。これはn00bの質問ですが、私は開発者ではなくUXデザイナーの方です。私はワードプレスのフォーラムでこれを投稿したのでここに行きました...PHP:結果を表示するために日ごとにグループ化する
私はWordpressでカスタム投稿の種類を問い合わせて、結果をカスタムメタデータでグループ化して返します。ループとコードですべての投稿を表示するようにしましたが、カスタムのメタデータでグループ化しようとすると問題が発生しています。
私は、クエリがmeta_value内のすべての日付を見つけてh3として表示し、次にそれぞれがliである投稿のulを作成したいと思います。
カスタムメタデータは、mm/dd/yy HH:MMとして保存されます。とにかく必要な関連開始日フィールドがあるので、私はこの方法でやったし、WordPressのorderbyを使うことができる。必要に応じて私が望むように出力をフォーマットします。
私は周りに頭を包むように見えません1)どこにh3とulを置くか。 2)日付で項目をグループ化する。
<ul>
<?php
global $post;
$all_args = array(
'post_type' => 'agenda',
'category' => the_title,
'post_status' => 'publish',
'meta_key' => 'cpt_agenda-event-date',
'posts_per_page' => 5,
'orderby' => 'meta_value',
'order' => 'ASC'
);
$all_agenda_posts = get_posts($all_args);
foreach($all_agenda_posts as $post) : setup_postdata($post);
$metas = get_post_meta(get_the_ID(), 'cpt_agenda-event-date', false);
// If you want to show values
foreach ($metas as $meta) {
$meta;
$formatted = date("l, F j", strtotime($meta));
echo '<h3>' . $formatted . '</h3>';
}
?>
<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
<?php endforeach; ?>
</ul>
私も現在の出力と所望の出力を示しhttps://wordpress.stackexchange.com/questions/42846/group-posts-by-custom-meta-field-dateに掲載の画像を持っている:ここでは私がこれまで持っているコードです。一度正しく動作したらCSSを適用する必要があるため、時間フィールドとスタイルは無視してください。
ありがとうございました!
更新:私はこれを動作させ、コードは他の人に役立つ場合に備えて以下のとおりです。私はtax_queryを使用する必要がありました。
こんにちはブライアン。まず、あなたの助けをありがとう。残念ながら、一度foreachを変更すると、ループによって別のカテゴリと投稿タイプから1つの投稿が返されます。私は実際になぜ実際にはわかりません。 the_title()についてあなたが正しいと思って、私はそれを変更しました。何かご意見は? –