【WordPress】カテゴリーに項目(メタ)を追加して呼び出す

ネコニウム研究所

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

【WordPress】カテゴリーに項目(メタ)を追加して呼び出す

2023-7-13 |

WordPressでカテゴリーに項目(メタ)を追加して呼び出したい!

概要

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

環境

  • WordPress 6.2.2
  • PHP 7.4.26

手順書

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

add_action('category_add_form_fields', 'add_category_fields');
add_action('category_edit_form_fields', 'edit_category_fields');

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

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

add_action('created_category', 'save_category_fields');
add_action('edited_category', 'save_category_fields');

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

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

$categories = get_the_category();
if ($categories) {
    $category = $categories[0];
    $cat_color = get_term_meta($category->term_id, 'cat_color', true);
    echo $cat_color;
}

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

まとめ(感想文)

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