私はWordPressプラグインを開発中で、Tareq's WordPress Settings APIを使用して設定ページを開発しています。配列の配列内でforeachとif文を使用するにはどうすればよいですか?
APIでは、チェックボックス項目を表示しています。しかし、foreach
とif
のステートメントを使用して、追加のチェックボックスを表示したいと思います。
foreach
:これはwp_get_user_contact_methods()
if
にすべてのフィールドのための追加のチェックボックスが表示されます。別のプラグインが有効化されている場合、これは、チェックボックスの余分なセットを表示します。これは、私が今持っているものである
私自身の論理から離れる:
$settings_fields = array(// Parent array
'dsbl_basics' => array(// Child array
array(// Child's child array
'name' => 'text_val',
'label' => __('Text Input', 'dsbl'),
'type' => 'text',
'default' => 'Title',
'sanitize_callback' => 'intval'
)
),
'dsbl_profile' => array(// Child array
array(// Child's child array
'name' => 'name',
'label' => __('Name', 'dsbl'),
'type' => 'multicheck',
'options' => array(
'first_name' => 'First Name',
'last_name' => 'Last Name'
)
),
array(// Child's child array
'name' => 'contact_info',
'label' => __('Contact Info', 'dsbl'),
'type' => 'multicheck',
'options' => array(
'url' => 'Website',
foreach (wp_get_user_contact_methods() as $value => $label) { // Additional contact fields
$value => $label
}
)
),
if (is_plugin_active('wordpress-seo/wp-seo.php')) { // If plugin exists
array(// Child's child array
'name' => 'yoast_seo',
'label' => __('Yoast SEO', 'dsbl'),
'type' => 'multicheck',
'options' => array(
'wpseo_author_title' => 'Title to use for Author page',
'wpseo_author_metadesc' => 'Meta description to use for Author page'
)
),
}
)
);
私の構文がオフであることを知っている私これらのエラー:
解析エラー:構文エラー、予期しない
foreach
(T_FOREACH)、期待)
解析エラー:構文エラー、予期しない
if
(T_IF)、期待)
これへの適切なアプローチは何ですか?
....のforeachを入れないでくださいとあなたの配列の内部の句ならば、それはそれがどのように動作するかではありません。 – Epodax
@Epodax私ができないことを教えてくれるのではなく、同じ結果を達成するために他に何ができるのか説明できますか? –
foreachとif句を配列から外し、foreach/if句の値を変数に代入し、それらの変数を大きな配列で使用します。 - コードを一緒に投げて、私たちがそれを修正することを期待しないでください。 – Epodax