前提・実現したいこと
カスタム投稿アーカイブページにて、
カスタムフィールドの値によって絞り込みをしたいです。
==========================
カスタム投稿投稿タイプ:news
●カスタムフィールド 項目(select/必須選択)
①
フィールド名:area
select項目:東京、大阪、神戸
②
フィールド名:age
select項目:20代、30代、40代
③
フィールド名:color
select項目:あお、あか、きいろ、しろ
==========================
このようなカスタム投稿があり、
カスタムフィールド によって3項目を投稿ごとにセレクトするようにしています。
archive-news.phpのアーカイブページでは記事一覧(全ての記事)を表示して、
東京を選択しているだけの記事一覧、大阪を選択しているだけの記事一覧、、、
20代を選択しているだけの記事一覧、、、、
あおを選択しているだけの記事一覧、、、、
といった風に絞り込んでそれぞれごとの記事一覧を表示したいです。
該当のソースコード
archive
1<div class="post_items"> 2 <?php 3 $customPostArg = array( 4 'posts_per_page' => -1, 5 'post_type' => 'news', // カスタム投稿タイプ名 6 'orderby' => 'date', 7 'order' => 'DESC' 8 ); 9 $customPosts = get_posts($customPostArg); 10 ?> 11 12 <?php if ($customPosts) : foreach ($customPosts as $post) : setup_postdata($post); ?> 13 <div class="post_item"> 14 <a href="<?php the_permalink(); ?>"> 15 <dl class="note"> 16 <dt>エリア</dt> 17 <dd> 18 <?php the_field('area'); ?> 19 </dd> 20 <dt>年齢</dt> 21 <dd> 22 <?php the_field('age'); ?> 23 </dd> 24 <dt>色</dt> 25 <dd> 26 <?php the_field('color'); ?> 27 </dd> 28 </dl> 29 </a> 30 </div> 31 <?php endforeach; 32 endif; ?> 33 34</div> 35
試したこと
WordPressのサイト上で簡単に並び替え&絞り込みする方法
上記サイトを参考にfunctions.phpに下記を挿入し
functions.php
1 2function add_meta_query_vars($public_query_vars) 3{ 4 $public_query_vars[] = 'meta_key'; 5 $public_query_vars[] = 'meta_value'; 6 return $public_query_vars; 7} 8add_filter('query_vars', 'add_meta_query_vars'); 9
https://example/news/?meta_key=area&meta_value=大阪
https://example/news/?meta_key=age&meta_value=30代
という風にアクセスをしても、全ての一覧が表示されてしまい、
上手く絞り込みができず困っております。。。
有識者の方いらっしゃいましたら、お力添えをいただけると助かります。
どうぞ宜しくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/03/20 09:16
2020/03/20 09:25
2020/03/20 22:30