0

wordpress のカスタム メタボックス内で、複数のメタ値を取得する必要があります...

カスタム メタ タイプ:

case 'draggable':
   echo '<div id="'.$field['id'].'" class="daredevil"></div> 
         <input type="hidden" class="draggable-value" id="hidden" name="', $field['id'], '" value="', '' !== $meta ? $meta : $field['std'], '"/>';
break;

基本的にここで行っているのは、入力の値フィールド内にドラッグ可能なトップ値を入れてから、それをデータベースに保存することです...

データベースで行がどのように見えるかを次に示します。-443px が一番上の値です...

ここに画像の説明を入力

左の値に新しい入力を追加しようとしましたが、', '' !== $meta ? $meta : $field['std'], '2 回使用できないと思われます。foreach ステートメントなどが必要ですか?

これが明確であることを願っています。結論として、上と左の値を保存したいだけです。合理化することで、コードが少なくテーブルが常に理想的です...

更新: foreach を追加しました。これにより、上と左の値を簡単に取得できますが、foreach ではデータベースに追加できませんが、データベースに追加できる入力が 1 つだけの場合は..

case 'draggable':
                $i = 1;
                foreach ($field['options'] as $option) {
                  echo '<input type="hidden" class="draggable-value" id="hidden_'.$i.'" name="', $field['id'], '_'.$option['name'].'" value="', '' !== $meta ? $meta : $field['std'], '"/>';                        
                  $i++;
                }
                echo '<div id="'.$field['id'].'" class="daredevil"></div> ';
            break;

配列 TOP & LEFT にいくつかのオプション値を追加しました...

array(
            'name' => 'Draggable Layers',
            'desc'    => 'Use the slider to set the height of the static area',
            'id' => $prefix . 'draggable_values',
            'type' => 'draggable',
            'options' => array(
                array( 'name' => 'top'),
                array( 'name' => 'left'),
            ),
        ),

foreach では、各オプションの入力を作成します。これは、メタがわずかに異なるため、オン/オフの値に適していますが、両方の値を DB テーブルに追加する最良の方法をまだ見つけようとしていますか?

4

1 に答える 1

0

何時間もいじった後、わかりました..

メタボックス スクリプト内に複数の関数が組み込まれています。

于 2013-07-21T08:44:08.233 に答える