LoginSignup
0
1

More than 5 years have passed since last update.

【メモ】WordPressのカテゴリー編集画面にフォームを追加する

Posted at

WordPressのバージョンも4.4になったことなので、新しく追加されたadd_term_metaなどのタームにメタ情報を扱えるようになったので、フォームを追加しようとしたら、追加の仕方が中々分からなかったので、メモしておきます。

ものすごく単純に追加して確認したい!って感じなので、詳しいことは書きません。
書くと物凄い量になりそうですし、こうやって追加できるんだって思っていただけるだけで構いません。

カテゴリー一覧画面での追加

functions.php
// 要素を追加するための関数
function my_add_term_field() {
    echo '<input type="text" name="sample" value="">';
}

// 要素を追加するためのアクションフック
add_action( 'category_add_form_fields', 'my_add_term_field');

これだけで、一先ず管理画面のカテゴリー一覧画面にて、フォームのフィールドを追加することができます。
「要素を追加するための関数 my_add_term_field()」にフォームとなるHTMLを作り、
「要素を追加するためのアクション add_action()」で動作させるためにアクションを登録する

このアクションフックで追加させることが可能なので、比較的には簡単でした。

add_action( 'category_add_form_fields', 'my_add_term_field');のアクションフックですが、
第1引数のcategory_add_form_fieldsで一覧画面でのフックになっています。
もっと噛み砕くと{taxonomy}_add_form_fieldsとなっており、{taxonomy}の部分をタクソノミー名で指定することで、各タクソノミーで追加が行えるといった感じ。

詳細の編集画面でも上記で書いたコードとほぼほぼ同じでアクションフックの指定が違うということ。

カテゴリー詳細画面での追加

functions.php
// 要素を追加するための関数
function my_add_term_field() {
    echo '<input type="text" name="sample" value="">';
}

// 要素を追加するためのアクションフック
add_action( 'category_edit_form', 'my_add_term_field');

これで管理画面のカテゴリー詳細画面に追加が可能になります。
add_action( '{taxonomy}_edit_form', 'my_add_term_field'); 一覧画面のときと同じように{taxonomy}の部分にタクソノミー名を入れることで、それぞれ対応したタクソノミーに追加が行えます。

カテゴリー画面への追加自体は、至って簡単ということが何となく分かるかと思います。
追加自体は簡単ではあるが、ここから画面を作っていくというのが大変なんでしょうね。
レイアウトなどは、WordPress自体のコードを見ながら作れば、間違いないと思う。

add_settings_field()みたいな物が見つけられなかったので、保存処理は自力でやるしかないですが・・・。
まあ、新しい関数もありますし以前よりは楽に作れるのではないでしょうか。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1