現在トップページにカスタム投稿タイプで設定した新着情報を表示しています。
その新着情報はカスタム分類でカテゴリー分けをしています。
その新着情報のあるカテゴリーの一覧を固定ページに表示させる事を検討しています。
ネットや書籍を色々探してほぼニーズに合致するスクリプトを探しました。
それが下記です。
<?php
global $post;
$top_news = get_posts( array(
'taxonomy_name' => 'wnresort', // カテゴリーのスラッグがwmresort'
'posts_per_page' => 5, // 1ページでの表示件数が5件
) ); ?>
<ul class="postList">
<?php foreach( $top_news as $post ) : setup_postdata($post); ?>
<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
<?php endforeach; ?>
</ul>
<?php wp_reset_postdata(); ?>
'category_name'を'taxonomy_name'に修正しました。(カスタム分類を使用しているので)
上記を動かすと新着情報ではなく投稿した記事の一覧が表示されます。
目的通りに表示させる為の修正点をご教授頂ければと思います。
宜しくお願いします。
コメント(10件)
たぶんこのページの「タクソノミーパラメータ」の項を参考に、
get_postsの指定を細かくするといいような気はします。
なお、category_nameもposts_per_pageもきちんとした定義のあるものなので、
自由に他の名前に変えていいものではないようですよ。
posts_per_pageは同じページ内に、
category_nameはWP_Queryページ内に定義が書いてあります。
posts_per_pageの定義もWP_Queryページ内でした
http://wpdocs.sourceforge.jp/Class_Reference/WP_Query
<?php
$args = array(
'tax_query' => array(
array(
'taxonomy' => 'people',
'field' => 'slug',
'terms' => 'bob'
)
)
);
$postslist = get_posts( $args );
?>
上記は掲載されていたサンプルなのですが
'terms' =>
というのはカスタム分類で設定したカテゴリーのスラッグを指定するのであろうと
予測がつくのですが
'taxonomy' =>
は何を指定したら良いのでしょうか?
wikiのほうには情報がまだ反映されていないようです。
日本語で解説しているページ
http://www.warna.info/archives/287/
WP_Tax_Queryの仕様
https://xref.wordpress.org/tags/3.6.1/WordPress/Taxonomy/WP_Tax_Query.html
http://wpdocs.sourceforge.jp/%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%A0%E5%88%86%E9%A1%9E
タクソノミー = 分類
という事のようです。つまり、カスタム分類=カスタムタクソノミー。
上のサンプルはこのページから持ってきたのかと思っていたのですが、
WP_Queryのページの方にも同じサンプルがあったんですね^^;
タクソノミー = 分類というのは一応理解しているつもりです。
現在カスタム分類でカテゴリーを4種類設定しています。カテゴリー名は日本語、スタッグ名は半角英数で設定しています。
taxonomy' =>にはカスタム分類で設定した日本語名を設定するのでしょうか?
素人質問で申し訳ありませんがご教授お願い致します。
たぶんこのページでいうところの分類名の事かと。
(日本語は使えないみたいなんですが)
上記サイトを確認してみました。
プラグインCustom Post Type UIもインストールしてみました。上記サイトで分類名という言葉は見つかりませんでした。
Custom Post Type UIの管理画面で名前の欄に表示されている英数字をtaxonomy' =>に入力したのですが変わりませんでした。
こちらの登録データで比較すると、
http://alphasis.info/2010/12/custom-post-type-ui/
Add New
Manage Post Types
Manage Taxonomies
Add Newが新規作成。
画面左が「カスタム投稿タイプ」の作成欄
画面右が「カスタム分類」の作成欄(「分類名」はここにある)
Manage Post Types
「カスタム投稿タイプ」の編集画面
「名前」は「投稿タイプ名」と思われる。
Manage Taxonomies
「カスタム分類」の編集画面
「名前」は「分類名」と思われる。つまりこちらを参照するのが正解?
という事のように思われます。