3

これに対する解決策を見つけるために長い間Google検索を行ってきました...コンテンツを制御するためにWordPressインストールを使用してcvマネージャーテーマを作成しています。すべての WP 投稿をカテゴリ別に整理することができましたが、これらの投稿を年のグループ別に一覧表示したいと考えています。現在、私はこれを持っています:

<?php // Categories
         $cvm_cat_args = array('orderby' => 'name', 'order' => 'ASC' ); 
         $categories = get_categories($cvm_cat_args); ?>

<?php foreach($categories as $category) : ?>

<?php // Posts in category
         $cvm_post_args = array( 'showposts' => -1, 'category__in' => array($category->term_id), 'caller_get_posts'=>1, 'order' => 'ASC' );
         $posts = get_posts($cvm_post_args); ?>

<?php if ($posts) : ?>

<h1><?php echo $category->name ?></h1>

<?php foreach($posts as $post) : ?>
<?php setup_postdata($post); ?>

<h3><?php the_title();  ?></h3>
<small><?php the_time(); ?></small>
<?php the_excerpt() ?>

<?php endforeach; ?>

<?php endif; ?>

<?php endforeach; ?>

出力が次のようになるように、カテゴリ内で投稿を年順に表示する方法にこだわっています。

<h1>Category Name 1</h1>

<h2>2010</h1>

<h3>Post name 1</h3>
<p>Excerpt...</p>

<h3>Post name 2</h3>
<p>Excerpt...</p>


<h2>2009</h1>

<h3>Post name 3</h3>
<p>Excerpt...</p>

<h3>Post name 4</h3>
<p>Excerpt...</p>

<h1>Category Name 2</h2>
etc

どんな助けでも大歓迎です。

ありがとう!

4

1 に答える 1

0
<?php $year = ''; ?>
<?php foreach($posts as $post) : ?>
<?php setup_postdata($post); ?>
<?php if (get_the_time('Y') != $year): ?>
<?php $year = get_the_time('Y'); ?>
<h2><?php echo $year; ?></h2>
<?php endif; ?>

<h3>Post name 1</h3>
<p>Excerpt...</p>

<h3>Post name 2</h3>
<p>Excerpt...</p>

<?php endforeach; ?>
于 2011-12-16T05:13:19.573 に答える