ブログ内検索

テック

WordPressで投稿タイプに紐づいたタクソノミーを取得する方法

wp-get-taxonomies-cover.avif

どうもこんばんは!色々理由をつけて好きな事を優先して気が乗らないものは後回しするこうじです^^

よくタクソノミーを取得してゴニョゴニョする。タームを取得してゴニョゴニョするというのはよくやるんですが、投稿に紐づいたタクソノミーを取得するってした事なかったんですよね。

いざやってみるとプチハマったので、全プチハマりさんの為に備忘録しておきたいと思います。

Get taxonomiesを使う

get_taxonomies()は、登録済みのタクソノミーを取得する事ができます。

こちらのオプションを使って投稿に紐づいたタクソノミーを取得する事が可能です。

パラメーターの「object_type」の部分を任意のカスタム投稿名に変えれば指定したカスタム投稿のデータを取得する事が可能です。
指定は配列で指定します。普通に文字列で指定すると残念な結果になります。

投稿に紐づいたタクソノミーのスラッグを取得

php
$taxonomies = get_taxonomies([
    // 公開されているタクソノミーのみに限定。
    'public' => true,
    // 投稿タイプが「post」のタクソノミーに限定。
    'object_type' => [ 'post' ],
    // 「カテゴリー」とか「タグ」とか最初から登録されているタクソノミーは出力しない。
    '__builtin' => false,
]);

// 出力結果
// array(1) {
//     ["post-taxonomy"]=>
//     string(12) "post-taxonomy"
// }

投稿に紐づいたタクソノミーのデータを取得

タクソノミーをデータで取り出したい場合は2番目の引数にobjectsをセットします。

php
/**
 * 投稿に紐づいたタクソノミーのスラッグを取得。
 */
$taxonomies = get_taxonomies([
    'public' => true,
    'object_type' => [ 'post' ],
], 'objects');

// 出力結果
// array(1) {
//     ["post-taxonomy"]=>
//     object(WP_Taxonomy)#5339 (27) {
//         ["name"]=>
//         string(12) "post-taxonomy"
//         ["label"]=>
//         string(30) "投稿に登録したタクソノミー"
//         ["labels"]=>
//         object(stdClass)#5344 (24) {
//             ["name"]=>
//             ...
//         }
//     }
// }

まとめ

意外にニーズがある気がするんですが、いざ探してみると現在の記事のタクソノミーや、普通にタクソノミーを取得するとかしかこないので、びっくりしました。

まぁでも普通にテーマ突っ込んでブログ書くくらいなら使わんよね^^;
今回、受託案件で必要だったので、その備忘録でした。

関連記事

timestamps-converter-cover.avif

「このUNIXタイムスタンプいつ?」をサクッと解決!Mac開発者のための快適設定

Python+シェルスクリプトでUNIXタイムスタンプ(秒/ミリ秒)を即変換。

apple-emacs-shortcut-cover.avif

Macユーザーに捧ぐ!日常が変わるEmacs風ショートカット厳選まとめ

Macの標準機能で利用できるEmacsキーバインドを使って日常のテキスト入力などを効率化!

adobe-graduation-ceremony-cover.avif

【Adobe卒業式】年間10万円の節約!AdobeからApple Creator Studioに乗り換えた話

高額なAdobe税から卒業!解約の違約金トラップや、解約前にやるべき事などを解説。

vim-believer-cover.avif

爆速コーディングを実現するVimを布教する記事【入門編】

俺選!実務で爆速化する神コマンドを厳選して布教します。

timemachine-to-mac-transfer-cover.avif

意外と簡単!Time MachineでMac環境をお引越し(M1→M5)

Time MachineでMacを移行したらほぼそのまま復元できた話。

vite-first-guide-cover.avif

「アナタ無しでは生きられない!」Viteを使って今スグ爆速の開発環境を整えよ!

保存した瞬間にブラウザが更新されるViteの「ホットリロード」を活用した爆速開発環境を作る手順を解説!

jetstream-profile-image-cover.avif

Jetstream(Laravel)でプロフィール画像が表示されない会場はこちらです

Jetstreamで画像が保存・表示されない原因をケースごとにまとめました。

wordpress-enqueue-scripts-cover.avif

コピペで完了!WordPressでスクリプトにdefer・async・moduleを付ける方法

WordPressでスクリプトにdefer・async・moduleを付ける方法を解説。コピペで使えるサンプル付き。

cloud-document-cover.avif

使ってみたいよね?Adobeクラウドドキュメントを試してみた

Adobeクラウドドキュメントを試して感じたメリットとデメリットをまとめました。

lv-sl-error-cover.avif

Laravelでstorageの画像が表示されない件

Webアプリ(Laravel)をサーバー移動した際に画像が表示されなかった場合の備忘録です。

railx6sj-cover.avif

ssh接続エラー: Too many authentication failuresをどうにかする

SSH接続時に出現する「Too many authentication failures」のエラーの解決法についてご紹介。

kusanagi-sever-error-cover.avif

KUSANAGIでサイトが表示されない場合は初心にかえる

KUSANAGIサーバーでどうやっても希望のドメインがサイトから見れなかった場合に試してたい選択肢をご紹介。


新着記事一覧

kindle-comic.png

無料で漫画を一気読み!Kindleで出産レポ・育児漫画などなど

timestamps-converter-cover.avif

「このUNIXタイムスタンプいつ?」をサクッと解決!Mac開発者のための快適設定

Python+シェルスクリプトでUNIXタイムスタンプ(秒/ミリ秒)を即変換。

apple-emacs-shortcut-cover.avif

Macユーザーに捧ぐ!日常が変わるEmacs風ショートカット厳選まとめ

Macの標準機能で利用できるEmacsキーバインドを使って日常のテキスト入力などを効率化!

adobe-graduation-ceremony-cover.avif

【Adobe卒業式】年間10万円の節約!AdobeからApple Creator Studioに乗り換えた話

高額なAdobe税から卒業!解約の違約金トラップや、解約前にやるべき事などを解説。

vim-believer-cover.avif

爆速コーディングを実現するVimを布教する記事【入門編】

俺選!実務で爆速化する神コマンドを厳選して布教します。

timemachine-to-mac-transfer-cover.avif

意外と簡単!Time MachineでMac環境をお引越し(M1→M5)

Time MachineでMacを移行したらほぼそのまま復元できた話。

apple-fitness-plus-cover.avif

体重乱高下アラフォーがApple Fitness+に行き着いた話

激しい体重の増減を繰り返したチョコザップユーザーが、コスパ最強の「Apple Fitness+」に乗り換えました。

vite-first-guide-cover.avif

「アナタ無しでは生きられない!」Viteを使って今スグ爆速の開発環境を整えよ!

保存した瞬間にブラウザが更新されるViteの「ホットリロード」を活用した爆速開発環境を作る手順を解説!

with-pomodoro-technique-cover.avif

「私のコトですか?」過集中&注意力散漫な人に刺さる!効率化ではなく“生存戦略”のポモドーロ術

集中力が「0か200」しかない人に朗報!ポモドーロ・テクニックが脳の暴走を止める最強の特効薬でした。

jetstream-profile-image-cover.avif

Jetstream(Laravel)でプロフィール画像が表示されない会場はこちらです

Jetstreamで画像が保存・表示されない原因をケースごとにまとめました。

wordpress-enqueue-scripts-cover.avif

コピペで完了!WordPressでスクリプトにdefer・async・moduleを付ける方法

WordPressでスクリプトにdefer・async・moduleを付ける方法を解説。コピペで使えるサンプル付き。

cloud-document-cover.avif

使ってみたいよね?Adobeクラウドドキュメントを試してみた

Adobeクラウドドキュメントを試して感じたメリットとデメリットをまとめました。