私はいくつかのカスタムメタボックスとフィールドを持っている "dictionary_entry"と呼ばれるカスタムpost_typeを作成するプラグインを書いています。カスタム投稿作成者がオーディオクリップをアップロードできる追加フィールドを追加したいと思います。Wordpress:メディアアップローダとカスタムメタボックスフィールドを統合する方法は?
私はいくつかの掘り下げを行い、コードを試しましたhereしかし、私はそれを動作させることができません。
私の質問への1つの可能な答えは、フィールドの "タイプ"パラメータになると思います。私は "テキスト"、 "テキストエリア"、 "時間"、 "色"、 "ラジオ"などを見てきましたが、私はすべての可能性のリストを見つけることができませんでした。フィールドタイプが「ファイル」または「アップロード」の可能性がありますか?
カスタムpost_typeを追加するコードはスキップしますが、ここにメタボックスを追加するコードを示します(他の誰かがこれを使用しようとしている場合は、カスタムpost_typeを 'ページのパラメータ):
//meta box code
$meta_boxes = array();
$meta_boxes[] = array(
'id' => 'examples', // meta box id, unique per meta box
'title' => 'Examples', // meta box title
'pages' => array('dictionary_entry'), // post types, accept custom post types as well, default is array('post'); optional
'context' => 'normal', // where the meta box appear: normal (default), advanced, side; optional
'priority' => 'high', // order of meta box: high (default), low; optional
'fields' => array( // list of meta fields
array(
'name' => 'Example 1', // field name
'desc' => 'Use it in a sentence? EX: Kanien\'kéha kahrónkha.', // field description, optional
'id' => $prefix . 'example1', // field id, i.e. the meta key
'type' => 'text', // text box
'std' => '', // default value, optional
'validate_func' => 'check_apos' // validate function, created below, inside RW_Meta_Box_Validate class
),
array(
'name' => 'Translation 1', // field name
'desc' => 'What does the sentence mean? EX: I speak Mohawk.', // field description, optional
'id' => $prefix . 'ex_translation1', // field id, i.e. the meta key
'type' => 'text', // text box
'std' => '', // default value, optional
'validate_func' => 'check_apos' // validate function, created below, inside RW_Meta_Box_Validate class
)
)
);
foreach ($meta_boxes as $metabox) {
add_meta_box... //see the codex for add_meta_box()
}
私が直接あなたの質問に答えるためにPHPチョップを持っていないが、おそらく誰か他の人のコードを掘り下げることは役立つかもしれない:ウィジェット/プラグインをhttp://tri.be/shop/wordpress-image-widget/ ですかなりシンプルで、過去のカスタムワードプレステーマに使用するためのいくつかの変更を加えました。彼らはコードにメディアアップローダを統合していますが、あまりにも多くのコード行がありません。がんばろう –