0

$sal に配列要素を格納して、配列 $fields['billing'] の先頭に配置しました。この目的のためにarray_unshiftを使用しています。

$sal = array(
    'label'       => __('Tratamiento', 'woocommerce'),
    'placeholder' => _x('', 'placeholder', ''),
    'required'    => 0,
    'clear'       => true,
    'class'         => array('form-row  form-row-wide'),
    'type'        => 'select',
    'options'     => array(
        'Señor' => __('Señor', 'woocommerce' ),
        'Señora' => __('Señora', 'woocommerce' ),
        'Señorita'=> __('Señorita', 'woocommerce')
        )
     ); 

array_unshift($fields['billing'] , $sal);

array_unshift 0 キー インデックスの配列の先頭に要素を追加します。print_r の後、次のように表示されます。

[0] => Array
        (
            [Label] => Treatment
            [Placeholder] => 
            [Required] => 0
            [Clear] => 1
            [Class] => Array
                (
                    [0] => form-row-row-wide form
                )

            [Type] => select
            [Options] => Array
                (
                    [Lord] => Lord
                    [Lady] => Lady
                    [Ms.] => Miss
                )

        )

私の問題は、キーの値を [0] から ['saluation'] に変更したいということだけです。

     $fields['billing']['saluation'] = $fields['billing'][0];
     unset($fields['billing'][0]);

しかし、配列の先頭にも必要です。私は多くのテクニックを試しましたが、まだこれを理解できません。

これは実際に私が扱っている woocommerce フィールド配列です。

4

1 に答える 1

0

array_merge() 関数で解決しました。

$fields['billing']= array_merge(array('saluation' => $sal), $fields['billing']);
于 2012-12-04T18:43:47.070 に答える