web-dev-qa-db-ja.com

メタボックスを動的に作成する

だから私はそれが動的にポスト管理でメタボックスを作成することが可能であるかどうか疑問に思いました。私はたくさんのデータを持っていますが、functions.phpに必要なすべてのメタボックスをハードコードしたくありません。

例としては、映画のカスタム投稿タイプがあります。映画のすべての俳優に対して異なるメタボックスを作成したいと思います。

Post admin内でメタボックスを追加および削除する機能を使って動的にメタボックスを追加することは可能ですか?

ありがとうございます。

2
Marco

WPAlchemyメタボックスクラスを検討することを真剣に検討します。それはまさにあなたが何をしているのか、そしてそれ以上のことをします。

http://www.farinspace.com/wpalchemy-metabox/#have_fields_and_multi

この講義はとても素晴らしいので、それ以上の議論がないことにはっきりとショックを受けます。 *もっと優れたメタボックスクラスがあれば、それについて知りたいのですが、WPAlchemyにはとても満足しています。

3
shawn

コーディングの大部分を処理するMetaboxクラスを使用することは可能です。

*もっと優れたメタボックスクラスがあれば、それについて知りたいのですが、WPAlchemyにはとても満足しています。

私はJared AtchisonとBill Ericksonの カスタムメタボックスとWordPress用のFields classを使うのが好きです。それは非常に拡張性があり、使いやすく拡張することができます。

それの私のフォーク あなたはまた分類選択と分類ラジオカスタムフィールドを作成することができます。

1
Chris_O

私が現在開発中のサイトについても、同じ要件がありました。次の2つのプラグインを使用して、管理領域にカスタム投稿タイプとメタボックスを直接作成できました。 カスタム投稿タイプUI および カスタムフィールドテンプレート

唯一必要なコードは、あなたのテーマフォルダの中にpage-.phpを作成し、それから次のようなコードを使うことです。

<h1><?php echo get_post_meta($post->ID, 'Name', true); ?> "<?php echo get_post_meta($post->ID, 'Title', true); ?>"</h1>

メタボックスで提供される情報が欲しいように検索してフォーマットします。

0
Drake

はい、可能です。 Verve Meta Boxes pluginを見てください。

インストールが完了すると、左側のナビゲーションの[ツール]の下に設定画面が表示されます。そこには、一連のユーザー定義のドラッグアンドドロップソート可能カスタムフィールドを持つ複数のメタボックスをそれぞれ作成できます。詳細はスクリーンショットを見てください。

0
Bainternet

これはJavaScriptを使用しても実行できます。追加のフィールドを動的に作成してから、それらすべてが同じ宛先配列をターゲットにするようにします。そのため、JavaScriptによって作成されたフィールドは次のようになります。

<input type="text" name="actors[actor1]" id="actors[actor1]" />
<input type="text" name="actors[actor2]" id="actors[actor2]" />
<input type="text" name="actors[actor3]" id="actors[actor3]" />

これらのクライアントサイドのフィールドを作成するためのアクションは、 "Add Actor"ボタンまたはそれらの行に沿った何かに添付することができます。

0
hereswhatidid

Dashboard UIを介したMetaBoxコントロール:

高度なカスタムフィールド - 優れていて簡単。

Magic Fields 2 - 私は使ったことがありますが、ファンではありません...

FWIW、私はUIを介してメタボックスを作成することのファンではありませんでしたので、私はいつもこれら2つのクラスのうちの1つを使用します:

WP Metabox PHPクラスの場合:

_ cmb _ - 私の個人的なお気に入りはAtchinson、Erickson、Norcrossです。ほとんどのニーズに対して迅速かつ簡単です。

WPAlchemy - 私はWPAlchemyのファンでもある。CMBがいつの日か追加することについて話し合っているがまだ行っている繰り返しフィールドと繰り返しフィールドグループが含まれているからだ。

0
jb510