WordPressのカスタムタクソノミーやカテゴリーに登録されたタームには、メタデータを追加することが可能です。本記事では、タームのメタデータを取得し、簡単に表示するためのカスタマイズ方法を紹介します。
目次
タームのメタデータを取得する
WordPressでは、タームにメタデータを追加し、特定のカスタム情報を付与することができます。このカスタマイズでは、タクソノミー内のターム一覧を取得し、各タームのメタデータも併せて取得・表示します。これはSEOデータや追加情報を表示したいときに便利です。
ソース例
<?php
// 指定したタクソノミーのすべてのタームとそのメタデータを取得する関数
function get_all_terms_with_meta($taxonomy) {
// タクソノミーからすべてのタームを取得
$terms = get_terms([
'taxonomy' => $taxonomy,
'hide_empty' => false, // 空のタームも含める
]);
if (is_wp_error($terms)) {
echo 'タームの取得に失敗しました。';
return;
}
// タームごとの情報を取得して表示
foreach ($terms as $term) {
echo '<h3>ターム名: ' . esc_html($term->name) . '</h3>';
echo '<p>スラッグ: ' . esc_html($term->slug) . '</p>';
echo '<p>ID: ' . esc_html($term->term_id) . '</p>';
// タームのメタデータをすべて取得
$meta_data = get_term_meta($term->term_id);
// メタデータがある場合、すべて表示
if (!empty($meta_data)) {
echo '<ul>';
foreach ($meta_data as $key => $value) {
echo '<li>' . esc_html($key) . ': ' . esc_html(implode(', ', $value)) . '</li>';
}
echo '</ul>';
} else {
echo '<p>メタデータはありません。</p>';
}
}
}
// 例: カスタムタクソノミー「customtaxonomy-name」(カスタムタクソノミー名)からターム情報を取得して表示
get_all_terms_with_meta('customtaxonomy-name');
?>
get_terms()
: 特定のタクソノミー内のすべてのタームを取得します。hide_empty => false
に設定すると、空のタームも含めて取得します。foreach
ループ: 各タームごとにターム名やスラッグ、IDを出力します。get_term_meta()
: タームのIDを指定してメタデータを取得します。foreach
ループで各メタキーを表示しています。esc_html()
: HTMLエスケープを行い、XSS攻撃を防ぎます。
難易度
タームやメタデータ取得には、タクソノミーやメタ関数の基本知識が必要です。メタデータを取得して表示するための構文理解が求められるため、初学者にはやや難しく感じるかもしれません。
使用しているタグ
get_terms()
get_term_meta()
esc_html()
Q&A
まとめ
本記事で紹介したコードを活用することで、WordPressのカスタムタクソノミーに登録されたタームのメタデータを取得し、表示することができます。これにより、SEO設定や追加情報の出力が容易になります。
コメント