Help us understand the problem. What is going on with this article?

Wordpressでカスタム投稿の特定のタームだけ出力する

More than 3 years have passed since last update.

まえがき

半年近く Wordpress 触ってなかったら色々忘れてハマったのでメモ。
最終的に Codex を、ちゃんと見たら一発で解決したんだけど。。。

投稿データの配列を作成する

Wordpressでカスタム投稿タイプを作って、
特定のタクソノミーに属する特定のタームだけを出力したいという時は、
get_posts に下記のような配列を渡す。

php:example.php
<?php 
$customPostArg = array(
  'posts_per_page' => 5,
  'post_type'      => 'customposts',  // カスタム投稿タイプ名
  'tax_query'      => array(
    array(
      'taxonomy' => 'customposts_taxonomy',  // カスタムタクソノミー名
      'field'    => 'slug',  // ターム名を term_id,slug,name のどれで指定するか
      'terms'    => 'customposts_taxonomy_terms' // タクソノミーに属するターム名
    )
  )
);
$customPosts = get_posts($customPostArg);
?>

投稿データの配列に基いてループを作成する

あとは下記のように foreach で回してあげればイケる。
※記事へのパーマリンクとタイトルだけのシンプルなものだけど。

php:example.php
<?php if($customPosts): foreach ($customPosts as $post): setup_postdata( $post );  ?>
  <div><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></div>
<?php endforeach; endif; ?>

foreach 終わったあとに wp_reset_postdata(); しなきゃダメなのかな??
その辺はちょっとわからんです。

参考サイト

カスタム投稿タイプとカスタムタクソノミーまとめ(KoToRi Blog)
正直、なんとな〜くで作業していた、カスタム投稿タイプに付随するそれぞれのワードはここで理解した。

WordPress Codex日本語版(テンプレートタグ/get_posts)
お世話になってます。
本来ここちゃんと見れば大体の事はできるようなサイトになってるとは思うんだけどね。
英語読めれば英語版のが最新情報が掲載されていそうだけど、英語わかんねぇです。

nagasawaaaa
フロントエンドエンジニアやってます。 たまにWordPressもやったりします。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした