詳細仕様は決まっていないのですが、作りたいのは投稿画面に決まったフォーマットのデータを入力させるプラグイン。カスタムフィールドを使えば投稿画面に付加情報を入力することは可能ですが、毎回決まったフォーマットで入力させたい。
このような用途に使える良質なプラグインにCustom Field Templateがありますが、より厳格に入力フォーマットを限定し、さらに2次利用できればなぁと思っているので、自作してみることにします。
と、その前に便利なジェネレータを発見しましたのでご紹介します。
Fun With Plugins
ウィザード形式でプラグイン名など必要事項を入力していくだけで、WordPressのプラグインとしての骨格を作ってくれます。あとは関数などを追加していくだけ。
さて、上述のCustom Field Templateのソースを見ていくと、管理画面に任意の入力フォームを追加しているのはこの2行のようです。
require_once(ABSPATH . 'wp-admin/includes/template.php'); add_meta_box('cftdiv', __('Custom Field Template', 'custom-field-template'), array(&$this, 'insert_custom_field'), 'post', 'normal', 'core');
1行目は、2行目で使用しているadd_meta_box()関数を定義しているファイルなので読み込みは必須のようです。
2行目のadd_meta_box()が管理画面に任意の入力欄を追加しているみたい。Codexのadd_meta_boxのページをみるとそれぞれの引数の意味が分かります。
<?php add_meta_box('id', 'title', 'callback', 'page', 'context', 'priority'); ?>
idが管理画面に出現する入力欄のdivのid属性値。他とかぶらないようにすればよいでしょう。
titleが管理画面に出現する入力欄のタイトル。最初からあるものだと「抜粋」とか「カスタムフィールド」とか表示されている部分です。
callbackがコールバック関数名。ここで指定した関数が呼ばれると、なるほど。
pageはどの画面に追加するのかを指定。投稿ならpost、ページならpage、リンクならを入力。そのままですね。
contextとpriorityはCodexを読んでもよく分かりませんが、無くても通るようなので無視。
と、管理画面に何かを追加できそうなことは分かったので、現時点でいったんプラグインの形にしてみました。