[WP3.9] カテゴリーにフィールドを新規追加

今回はデフォルトで備わっているカテゴリー編集画面にフィールドを追加してみたいと思います。

20140427-1

function.php に以下を記述します。

add_action('edit_category_form_fields', 'add_category_fields');
function add_category_fields($cat){
    $cat_id = $cat->term_id;
    $cat_meta = get_option("cat_$cat_id");
?>
<tr class="form-field">
    <th>追加フィールド</th>
    <td><input type="text" name="cat_meta[cat_text]" id="cat_text" size="25" value="<?php if(isset($cat_meta['cat_text'])) echo esc_html($cat_meta['cat_text']) ?>" /></td>
</tr>
<?php
}

add_action ('edited_term', 'save_add_category_fileds');
function save_add_category_fileds($term_id) {
    if(isset($_POST['cat_meta'])){
       $cat_id = $term_id;
       $cat_meta = get_option("cat_$cat_id");
       $cat_keys = array_keys($_POST['cat_meta']);
          foreach ($cat_keys as $key){
          if (isset($_POST['cat_meta'][$key])){
             $cat_meta[$key] = $_POST['cat_meta'][$key];
          }
       }
       update_option("cat_$cat_id", $cat_meta);
    }
}

これで追加フィールドの入力欄が作成されます。

20140427-2

データベース の wp_options に保存されます。

mysql> select * from wp_options order by option_id desc limit 1;
+-----------+-------------+-------------------------------------------------+----------+
| option_id | option_name | option_value                                    | autoload |
+-----------+-------------+-------------------------------------------------+----------+
|       229 | cat_2       | a:1:{s:8:"cat_text";s:18:"南無南無南無";}       | yes      |
+-----------+-------------+-------------------------------------------------+----------+
1 row in set (0.00 sec)
カテゴリー: 未分類   パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です


*

* Copy This Password *

* Type Or Paste Password Here *

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>