WordPress でカスタムフィールドなどを使い管理画面を独自カスタムし、チェックボックスを設置して入力させたい場合、チェックボックス内容で絞り込んで表示したい場合の対処方法覚え書き。
独自カスタムした項目で分類した一覧を表示
■大学の分類で一覧表示
'page', 'meta_key' => 'role', 'meta_value' => $metaValue, 'posts_per_page' => 100 ); $mypost = new WP_Query($args); if($mypost -> have_posts()) : while ($mypost -> have_posts()) : $mypost -> the_post(); get_template_part( 'template-parts/content', 'schoollist' ); ?>
これだと管理画面からチェックボックスで入力された項目が動かない。
配列に対応した書き方に変更。
'page', 'meta_query' => array( array('key'=>'banch', 'value'=>$metaValue, 'compare'=>'LIKE') ) ); $category= get_posts($args); $mypost = new WP_Query($args); if($mypost -> have_posts()) : while ($mypost -> have_posts()) : $mypost -> the_post(); get_template_part( 'template-parts/content', 'schoollist' ); ?>
LIKE だと 負荷がすごく、一般的なレンタルサーバーでは動かないので適宜 IN 使う。
コメント