フォームを使用してカスタム メタボックス内でデータを送信する方法を知っている人はいますか? wordpress は既にメタボックス フック用のフォームを作成していることを知っているので、おそらくフォームは必要ありません。それが本当なら、メタ ボックスが DB にデータを追加する方法をお見せしましょう。
これにより、入力データが wp_postmeta テーブルに追加されます
$meta = get_post_meta( $post->ID, $field['id'], !$field['multiple'] );
フィールドタイプで使用されます。テキスト、テキストエリアなど
switch ( $field['type'] ) {
case 'text':
echo '<input type="text" name="', $field['id'], '" id="', $field['id'], '" value="', '' !== $meta ? $meta : $field['std'], '" />','<p class="moon_metabox_description">', $field['desc'], '</p>';
break;
case 'text_small':
echo '<input class="moon_text_small" type="text" name="', $field['id'], '" id="', $field['id'], '" value="', '' !== $meta ? $meta : $field['std'], '" /><span class="moon_metabox_description">', $field['desc'], '</span>';
break;
}
$meta
これに似たフィールドタイプを作成しようとしているときにのみ使用できる各フィールドについて、大まかなアイデアを次に示します...
<?php case 'My_Form_Data': ?>
<div class="width-option">
<input type="text" name="width" value="<?php echo $meta['properties']['width'] ?>" class="input">
</div>
<div class="bg-color-option">
<input type="text" name="backgroundcolor" value="<?php echo $meta['properties']['backgroundcolor'] ?>" class="input color">
</div>
<?php break; ?>
最終的な目標は、meta_value
列にデータの配列を入力することです。例:
$post->ID
このデータは手動で入力されたものです。データを適切に使用および割り当てることができるように、メタボックスと統合する必要があります。