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

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

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

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

WordPress

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

Q&A

0回答

720閲覧

WordPressでSQL文を使って、投稿に紐づいたターム(複数)を表示させたい、ターム名はカスタムフィールドを表示させたい

idvvbi

総合スコア11

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

WordPress

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

0グッド

0クリップ

投稿2021/04/08 06:25

タクソノミーの階層は3層構造になっています。
タクソノミーのターム名を英語表記させるためにカスタムフィールド(key:flower_name_en)を作成しました。
()内がカスタムフィールド の値です。

例)
花(flower)
- バラ(rose)
- バラ大(rose-large)
- バラ小(rose-small)
- カーネーション(carnation)
- カーネーション大(carnation-large)
- カーネーション小(carnation-small)

Aの投稿には、ターム:花、バラ、バラ小
Bの投稿には、ターム:花、カーネーション、カーネーション大
を紐付けました。

これをSQLを使って表示をさせたく、以下の記述をしました。
しかし、取得できたのは第一階層の「flower」のみが表示され、実際は、一番下位階層の「rose-small」のみを表示させたいと思っています。
どのような記述すればよいかわからずいき詰まっております。お力添えをいただけますと幸いです。

$the_post_id = $value->ID; //前記述で投稿IDを取得 $post_flower = " SELECT meta_value FROM $wpdb->termmeta AS termmeta INNER JOIN $wpdb->term_taxonomy term_taxonomy ON termmeta.term_id = term_taxonomy.term_id INNER JOIN $wpdb->term_relationships term_relationships ON term_taxonomy.term_taxonomy_id = term_relationships.term_taxonomy_id WHERE term_relationships.object_id = {$the_post_id} AND meta_key = 'flower_name_en' "; $flower = $wpdb->get_var($post_flower); echo $flower;

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

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

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

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

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

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問