wordpressのリンクをクリックした際の遷移先を分岐させたい。
具体的に言うと、人物が作った⇒モノという関係があり、人物一覧ページを作っていて、それは固定ページで作っています。人物が複数のモノを作っていると、人物名の一覧固定ページに同じ名前が並びます。
それを避けるために、その人物が複数のモノを作っていたら人物名をクリックするとその人物が作ったモノのアーカイブページに遷移させたいのですが、条件分岐のいい方法が思い浮かびません。
もっと簡潔に説明すると、カスタムフィールドで作った「人物」の項目が同じpostがあった時にリンクの飛び先をpostのアーカイブページにしたいのと、人物名一覧の固定ページで、「人物」が複数表示されないようにしたいということです。
<?php <!--postの人物名を取得してループ処理で出力--> ?> <?php if('人物名が同じpostが複数になったら'){ ?> <a href="<?php the_permalink('人物名が同じpostのアーカイブ'); ?>"><?php the_field('人物名'); ?></a> <?php }else{ ?> <a href="<?php the_permalink('postページ'); ?>"><?php the_field('人物名'); ?></a> <?php } ?>
こんな感じで考えているのですが、もっといい方法があるかwordpressに詳しい方アドバイスをお願いします。
また、
この部分の良い書き方で特に悩んでいます。
よろしくお願いします。
追記
<?php $wp_query = new WP_Query(); $my_posts = array( 'post_type' => 'post', 'category_name' => '50音順の◯行のスラッグ', ); $wp_query->query( $my_posts ); if( $wp_query->have_posts() ): while( $wp_query->have_posts() ) : $wp_query->the_post(); ?> <!--ここにループする内容--> <li><a href="<?php the_permalink(); ?>"><?php the_field('人物名'); ?></a></li> <?php endwhile; endif; wp_reset_postdata(); ?>
現在はこのような方法であ〜わ行まで分けて出力しています。
回答2件
あなたの回答
tips
プレビュー