taxonomy内で何番目の記事かを取得したい。
-
いつも大変お世話になっています。
qiitaの方にあるこちらの記事がまさにドンピシャなのですが
http://qiita.com/shuhei/items/66c4a2369efbb61554b8これをarchive.phpで行う方法がうまくいかず、悩んでおります。
archive.phpではカテゴリごとに記事を表示するようにしておりますが
下記のようにしても動作しません。。
SQL文もそうですがwordpressの挙動を理解していないこともあり、
下記質問へ、ご教授いただけますと幸いです。。
・archive.phpにおいて、taxonomyごとに記事を表示
そのtaxonomy内で何番目の記事かを取得/表示したい。
・上記が解決した場合、single.phpでも同様の番号を表示できるか?
・後学のため、SQL文でどう処理すればどのような結果が返ってくるかを
学べるようなおすすめのサイトをご教示いただければと。archive.php
<?php $categories = get_terms( 'teams_name'); foreach($categories as $cat): $loop = new WP_Query( array( 'orderby' => '', 'post_status' => 'publish', 'post_type' => 'nero_styles', 'tax_query' => array( array( 'taxonomy' => $cat->taxonomy, 'field' => $cat->term_taxonomy_id, 'terms' => $cat->term_id ))); while ( $loop->have_posts() ) : $loop->the_post(); ?> <?php echo post_number_in_cat( $cat->slug ); //qiitaの記事にあるようにカテゴリのスラッグを渡している。 //そのカテゴリ(taxonomy)内での番号を表示し、番号順に表示したい ?> <?php endwhile; endforeach; ?>
functions.php
<?php function post_number_in_cat($cat_slug) { global $wpdb, $post; print_r($wpdb); print_r($post); $number = $wpdb->get_var(" SELECT COUNT(posts.ID) FROM $wpdb->posts posts INNER JOIN $wpdb->term_relationships rels ON posts.ID = rels.object_id INNER JOIN $wpdb->term_taxonomy tax ON rels.term_taxonomy_id = tax.term_taxonomy_id INNER JOIN $wpdb->terms terms ON tax.term_id = terms.term_ID WHERE terms.slug = '{$cat_slug}' AND posts.post_date <= '{$post->post_date}' AND posts.post_status = 'publish' AND posts.post_type = 'post' ;"); return $number; } ?>
これだけじゃわからないなどあればお伝えいただけますと幸いです。
何卒、よろしくお願いいたします。
2件の返信を表示中 - 1 - 2件目 (全2件中)
2件の返信を表示中 - 1 - 2件目 (全2件中)
- トピック「taxonomy内で何番目の記事かを取得したい。」には新たに返信することはできません。