カスタム投稿タイプの一覧からのリンクがおかしかった
アイスプラント
インゲン
エンドウ
とターム事の一覧があって、
アイスプラントをクリックすると
アイスプラントが紐付いてる記事の一覧がでるはずなのに、
その記事に他のターム(インゲンやエンドウ)が同時に
ついてると、インゲンのページが表示されたりして困ってた。
アーカイブページのパーマリンクがおかしいのかとおもいきや、
そちらは正常で
ちゃんと「アイスプラント」になっている。
taxonomy.php での表示がおかしかった。
というのも、複数タームが選択されてる記事だと、
あいうえお順の早いものから取得しちゃってたみたいで。
<?php
if(get_the_terms($post->ID,array('plants_group','plantsprocess'))):
$terms = get_the_terms($post->ID, array('plants_group','plantsprocess'));
$term_id = array();
foreach( $terms as $term ){
array_push( $term_id, $term->term_id );
break ;
}
query_posts( array(
'paged' => $paged,
'post_type' => 'plants',//現在表示している記事を検索結果に表示しない
'tax_query' => array(
array(
'taxonomy'=>'plants_group',
'posts_per_page' => 6,
'terms'=> $term_id,
),
)
)
)
?>
当初、こんなふうなコードになっていたけれど、
あれ?
と数時間後に思った。
パーマリンクは「アイスプラント」であってるんだから、
こんな事しないでメインループすればよいのかしら?
で、
その部分削除。
おぉ、表示されてる。
でも、
ターム名「アイスプラント」が表示されなくなってしまった・・・・
で、さがす事数時間!
もう迷わない!アーカイブページで現在のカテゴリ・タグの情報を簡単に取得する方法【WordPress】
これを探しておりました。
そして、functionsに追加して
//カテゴリ・タグ・カスタムタクソノミー オブジェクトを取得
$term = get_current_term();
//以下は必要に応じて記述
echo $term->name; //名前を表示
で無事表示されました!
ふぅう。ひとまず大きな問題解決。
次は
ページャーですよ。