カスタム分類で記事を抽出

カスタム分類は
wp_term_relationships テーブル、wp_term_taxonomyテーブル、wp_termsテーブル
3つのテーブルが繋がり、
それと、通常のtsl_posts のIDが繋がっている。
そのため、特定のカスタム分類の記事を抽出しようとして、複雑なSQLを自作していた。

ところが、調べてみると、一般的な関数 query_posts にパラメータ次第で抽出できることがわかった。
query_posts( array(
‘posts_per_page’ => ‘-1’,
‘post_type’ => ‘product’, // カスタムpost_type
‘post_status’ => ‘publish’,
‘orderby’ => ‘ID’,
‘order’ => ‘DESC’,
‘taxonomy’ => ‘bunrui’, // カスタム分類名
‘term’ => ‘osusume’ // カテゴリーのスラッグ
) );

今回は、カスタムフィールドで、表示順を設定しているため、以下のようにした。
query_posts( array(
‘posts_per_page’ => ‘-1’,
‘post_type’ => ‘product’, // カスタムpost_type
‘post_status’ => ‘publish’,
‘meta_key’ => ‘_w-order’, // 表示順の項目名
‘orderby’ => ‘meta_value’, // 表示順
‘order’ => ‘ASC’,
‘taxonomy’ => ‘bunrui’, // カスタム分類名
‘term’ => ‘osusume’ // カテゴリーのスラッグ
) );

WordPress のオンラインマニュアル(http://wpdocs.sourceforge.jp/%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E3%82%BF%E3%82%B0/query_posts)には
以下のような記述がある。

image

コメントを残す

メールアドレスが公開されることはありません。

次の記事

名人戦第2局