質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

Q&A

0回答

372閲覧

WordPressでカスタム投稿の記事一覧からカテゴリーで絞り込みしたい。

byakubyaku

総合スコア3

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

0グッド

0クリップ

投稿2022/01/15 11:49

<分からないこと>
カスタム投稿の記事一覧からプラグイン「Search & Filter」を使って、カテゴリーごとに記事を絞り込みができないのでご相談したいです。

ご相談したい点は、
①絞り込みしても検索結果が表示されない理由
②カテゴリーの分類の仕方(検索欄の増やし方)

①絞り込みした際に記事一覧に結果が返ってきて表示されるようにしたいです。
②は、都道府県、業種、職種で選べれるように3つに分けたいです。

どのようなコードが必要なのか調べても分からず路頭に迷っています。
教えて頂けると嬉しいです。

現状以下のように作成しています。

1、functions.php以下のように作成した。

//記事一覧 function cpt_register_ArticleList(){ $labels = [ "singular_name" => "ArticleList", "edit_item" => "ArticleList", ]; $args = [ "label" => "記事一覧", "labels" => $labels, "description" => "", "public" => true, "show_in_rest" => true, "rest_base" => "", "rest_controller_class" => "WP_REST_Posts_Controller", "has_archive" => true, "delete_with_user" => false, "exclude_from_search" => false, "map_meta_cap" => true, "hierarchical" => true, "rewrite" => ["slug" => "ArticleList","with_front" => true], "query_var" => true, "menu_position" => 5, "supports" => ["title","editor","thumbnail"], ]; register_post_type("ArticleList",$args); } add_action("init",'cpt_register_ArticleList'); //記事一覧カテゴリー追加 function cptui_register_my_taxes_articlelist() { $labels = [ "name" => __( "カテゴリー", "presidents-office" ), "singular_name" => __( "カテゴリー", "presidents-office" ), ]; $args = [ "label" => __( "カテゴリー", "presidents-office",), "labels" => $labels, "public" => true, "publicly_queryable" => true, "hierarchical" => true, "show_ui" => true, "show_in_menu" => true, "show_in_nav_menus" => true, "query_var" => true, "rewrite" => [ 'slug' => 'articlelist', 'with_front' => true, ], "show_admin_column" => false, "show_in_rest" => true, "show_tagcloud" => false, "rest_base" => "articlelist", "rest_controller_class" => "WP_REST_Terms_Controller", "show_in_quick_edit" => false, "show_in_graphql" => false, ]; register_taxonomy( "articlelist", [ "articlelist" ], $args ); } add_action( 'init', 'cptui_register_my_taxes_articlelist' ); // ブログにタクソノミーを追加する register_taxonomy( 'diary', //任意の名前でつける、タクソノミー 名 'articlelist', //タクソノミーを反映させる投稿タイプ名 array( 'labels' => array( 'name' => 'test '//管理画面左側のメニューに表示される ), 'hierarchical' => true, //記事の親子関係の有無:チェックボックスで表示させるために設定必須 'show_in_rest' => true //Gutenbergに表示対応させるため必須 )); function filter_search( $query ) { if ( $query->is_search() && $query->is_main_query() && ! is_admin() ) { $query->set( 'post_type', array( 'post', 'page', 'news' ) ); } } add_filter( 'pre_get_posts', 'filter_search' );

2、page.php(page.phpに記事一覧を表示しています。)ここは、問題なく表示できてます。

<?php get_header(); ?> <div class="slider_ar"> <?php echo do_shortcode('[metaslider id="135"]'); ?> <?php if(have_posts()) : while(have_posts()) : the_post(); ?><!-- ループ開始 --> <h1><?php the_title(); ?></h1> <div class="page_container"> <?php the_content(); ?> </div> <?php endwhile; endif; ?><!--/ループの終わり --> </div> </div> <?php echo do_shortcode('[searchandfilter fields="articlelist,diary,post_tag" headings="追加したタクソノミー ,カテゴリー,タグ" operators=",OR" submit_label="検索する" ]'); ?> <div class="company"> <h2>Company<span>企業紹介</span></h2> </div> <div id="content" class="page_wrap w_inner"> <?php $args = array( 'post_type' => 'articleList', 'posts_per_page' => 9, 'paged' => $paged, ); $the_query = new WP_Query($args); ?> <ul class="artic_lists"> <?php if($the_query->have_posts()):while($the_query->have_posts()):$the_query->the_post();?> <li class="artic_list_item"> <a href="<?php the_permalink();?>"> <div class="artic_img"><img src="<?php echo CFS()->get("thumbnail"); ?>" alt="代表の画像"></div> <div class="artic_titile"><h3><?php echo CFS()->get("title"); ?></h3></div> <div class="artic_company"><?php echo CFS()->get("company"); ?></div> <div class="artic_president"><?php echo CFS()->get("president"); ?></div> </a> </li> <?php endwhile; ?> </ul> </div> <?php wp_reset_postdata(); ?> <?php else : ?> <?php endif;?> <div class="pagenation"> <?php if ($the_query->max_num_pages > 1) { echo paginate_links(array( 'base' => get_pagenum_link(1) . '%_%', 'format' => 'page/%#%/', 'current' => max(1, $paged), 'mid_size' => 1, 'total' => $the_query->max_num_pages )); } wp_reset_postdata();?> </div><!-- /pagenation --> </div> </div> </div> <?php get_footer(); ?>

どうか、力添えをお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問