【WordPress】タグに項目(メタ)を追加して呼び出す

ネコニウム研究所

PCを利用したモノづくりに関連する情報や超個人的なナレッジを掲載するブログ

【WordPress】タグに項目(メタ)を追加して呼び出す

2023-7-14 |

WordPressでタグに項目(メタ)を追加して呼び出したい!

概要

今回の記事では、WordPressでタグに項目(メタ)を追加して呼び出す手順を掲載する。

環境

  • WordPress 6.2.2
  • PHP 7.4.26

手順書

「投稿」->「タグ」のページに項目を追加する例。function.phpに追加する。
タグにtag_colorという名前のメタフィールドを追加してる。

add_action('post_tag_add_form_fields', 'add_tag_fields');
add_action('post_tag_edit_form_fields', 'edit_tag_fields');

function add_tag_fields() {
    ?>
    <div class="form-field">
        <label for="tag_color">Color</label>
        <input name="tag_color" id="tag_color" type="text" value="" size="40">
        <p class="description">Set a color for the tag.</p>
    </div>
    <?php
}

function edit_tag_fields($term) {
    $color = get_term_meta($term->term_id, 'tag_color', true);
    ?>
    <tr class="form-field">
        <th scope="row"><label for="tag_color">Color</label></th>
        <td>
            <input name="tag_color" id="tag_color" type="text" value="<?php echo esc_attr($color); ?>" size="40">
            <p class="description">Set a color for the tag.</p>
        </td>
    </tr>
    <?php
}

add_action('created_post_tag', 'save_tag_fields');
add_action('edited_post_tag', 'save_tag_fields');

function save_tag_fields($term_id) {
    if (isset($_POST['tag_color'])) {
        update_term_meta(
            $term_id,
            'tag_color',
            sanitize_text_field($_POST['tag_color'])
        );
    }
}

loop.phpなどから追加したメタフィールドを呼び出す例。

$tags = get_the_tags();
if ($tags) {
    $tag = $tags[0];
    $tag_color = get_term_meta($tag->term_id, 'tag_color', true);
    echo $tag_color;
}

tag_colorに保存したテキストをechoで単純に出力してる。

まとめ(感想文)

タグのデフォルトのサムネイルの画像のURLを保存したり呼び出したりするのに使えるかもね!