【WordPress】カテゴリーに項目(メタ)を追加して呼び出す
2023-7-13 | WordPress
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を保存したり呼び出したりするのに使えるかもね!