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

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

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

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

WordPress

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

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

0回答

672閲覧

親タームのみに属する記事を子タームの全ページに表示させたい

iambeginnerr

総合スコア12

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

WordPress

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

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2020/09/09 05:28

前提・実現したいこと

wordpressで地域ポータルサイトを制作中です。
店舗個別ページはカスタム投稿で作成しました。この店舗個別ページを検索したく、以下の仕様で検索システムを実装しようとしているのですが・・・

カスタム投稿:restaurant
カスタム分類1:area_cat(エリア指定は2階層 都道府県-市区町村)
カスタム分類2:genre_cat(ジャンル指定は2階層 親カテゴリ-子カテゴリ)
カスタム分類1に属するターム:allarea(全国を指定する際に使用、都道府県と同階層)

ページ遷移
1、トップページにて、都道府県(例:東京都)を選択
2、東京都の飲食店一覧が表示される(テンプレート:taxonomy-area_cat.phpを使用)、このページに市区町村とジャンルで絞り込むエリアを設置(東京都以下の市区町村×ジャンルでの絞り込み、例:中央区×和食など)。
3、「中央区×和食」で絞り込んだ記事一覧が表示される

上記のような流れで検索結果ページまでたどり着くことができました。新たに「2」の部分に以下の機能を追加したいのですが、「b」に関してどのように実装して良いのかが分からず質問せせていただきました。

追加したい機能
a、親タームに「全国」というタームを追加し、投稿時このタームにチェックを入れた飲食店は、全ての検索結果ページに表示される(例:「全国」にチェックを入れた「和食処A」は、「中央区×和食」にも「札幌市×和食」にも表示される)→下記のコードで実装できました

<ul> <?php $args = array( 'posts_per_page' => -1, 'post_type' => 'restaurant',//カスタム投稿名 'tax_query' => array( array( 'taxonomy' => 'area_cat',//タクソノミー名 'field' => 'slug', 'terms' => 'allarea' //ターム名(スラッグ) ) ) ); $myposts = get_posts( $args ); foreach ( $myposts as $post ) : setup_postdata( $post ); ?> <li class="all-area"> <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2> <?php the_excerpt();?> </li> <?php endforeach; wp_reset_postdata();?>

b、エリア指定は「都道府県-市区町村」の2階層 ですが、投稿時、親タームである都道府県のみにチェックが入った飲食店は、全ての市区町村検索結果一覧ページに表示をしたい(例:「北海道」のみにチェックを入れた「和食処B」は、「札幌市×和食」にも「函館市×和食」にも表示される)→こちらの実装方法がわかりません。
「a」で使用したコードの'terms' => 'allarea' //ターム名(スラッグ)部分で現在表示されているarea_catの親タームを取得できればいいのか?と考えたのですが、記述の仕方がわかりませんでした。
私の考え以外にも、「条件分岐の方が良い」などの案がや具体的な記述方法がありましたら教えていただきたいです!

wordpressの大まかな知識はありますが、phpコードの記述については全くの初心者です。
皆様のヒントや知恵をお貸しください!よろしくお願いします。

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

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

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

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

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

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問