WordPress専門のQ&Aサイト SUKEGRA

悩めるプログラマーを「ッターン!」と助太刀!

<カスタム投稿> 新着記事を「カテゴリー名表示(ターム)で色分け(テキストまたはアイコン)」一覧表示


投稿者:リバー (120 ポイント) 投稿日時: 2017年8月10日
カテゴリー:なし
タグ:なし

<カスタム投稿>でカテゴリを以下のように分けた場合の一覧表示を、アイコン(テキスト)をつけて表示したい。(非推奨のquery_postsでなくwp_queryのバージョン)

企業サイトでよく見られる、トップページでの新着情報のカテゴリ別(日時付き)アイコン(テキスト)一覧を、カスタム投稿でも同じように表示したい場合は、どうコーディングすればよろしいのでしょうか?
query_postsが非推奨になりましたので、wp_queryで記述したいと思っています。
果物(カスタム投稿タイプ)
 バナナ(ターム)
 りんご

みかん

これを
2017年8月10日 バナナ タイトル 概要
2017年8月09日 りんご タイトル 概要
2017年8月08日 みかん タイトル 概要
のように一覧表示したい


0 支持

ログインまたはユーザー登録してから回答してください。

回答 1

投稿者:oxy (200 ポイント) 投稿日時: 2017年8月11日

そうした記述はサブループで実現できます。

表示したいカスタム投稿タイプのスラッグがfruitだった場合、以下のような記述になります。

<?php
$args = array(
     'post_type' => 'fruit', // 投稿タイプを指定
     'posts_per_page' => 10, // 表示するページ数
);
?>
<?php $wp_query = new WP_Query( $args ); ?><!-- クエリの指定 -->
<?php while ( $wp_query->have_posts() ) : $wp_query->the_post(); ?>
<!-- ここに表示するタイトルやコンテンツなどを指定 -->
<?php endwhile; ?>
<?php wp_reset_postdata(); ?><!-- 忘れずにリセットする必要がある -->

さらに$argsのパラメータを変更すれば、日時を指定して投稿を取得できます。

例えば今週の投稿を取得したい場合は以下のようにします。

<?php
$args = array(
     'post_type' => 'fruit',
     'posts_per_page' => 10,
     'year' => date( 'Y' ), // 今年を指定
     'week' => date( 'W' ), // 今週を指定
);
?>

手前味噌で恐縮ですが、以下のページに詳しい解説があります。
参考にしてみてください。

http://oxynotes.com/?p=8615

...