私はWoocommerceを使用しており、管理パネルで選択ボックスを作成しました。私はフラットファイルを介して選択ボックスに情報を入力します。 すべて正常に動作します(ほとんど)。WooCommerce - 送信後に選択ボックスの正しいデータ値を取得する
私は「選択」私が欲しいと私は配列$key
位置と$value
実際のないを取得しています保存を選択した後、私が上で立ち往生しています一部。私は近づいているが、私はそれに私の指を置くことができません。
アップデート:ここでは私の完全なコードです:
はfunction woo_add_custom_admin_product_tab() {
?>
<li class="custom_tab"><a href="#custom_tab_data"><?php _e('Additional Information', 'woocommerce'); ?></a></li>
<?php
}
add_action('woocommerce_product_write_panel_tabs', 'woo_add_custom_admin_product_tab');
function woo_add_custom_admin_fields() {
global $woocommerce, $post;
echo '<div id="custom_tab_data" class="panel woocommerce_options_panel">';
echo '<div class="options_group">';
// Select - Breed1
if (file_exists (plugin_dir_path(__FILE__) .'breed.txt')) {
$breedData = file_get_contents (plugin_dir_path(__FILE__) .'breed.txt');
$breedArray = explode ("\n", $breedData);
}
woocommerce_wp_select(array(
'id' => '_select_breed1',
'label' => __('Select Primary Breed', 'woocommerce'),
'desc_tip' => 'true',
'description' => __('Select the primary breed of the pet.', 'woocommerce'),
'options' => $breedArray
));
echo '</div>';
echo '</div>';
}
add_action('woocommerce_product_write_panels', 'woo_add_custom_admin_fields');
// Save Fields;
function woo_add_custom_general_fields_save($post_id){
// Text Field - Pet Name
$woocommerce_text_field = $_POST['_pet_name'];
if(!empty($woocommerce_text_field))
update_post_meta($post_id, '_pet_name', esc_attr($woocommerce_text_field));
// Select Field - Breed
$woocommerce_select = $_POST['_select_breed1'];
if(!empty($woocommerce_select))
update_post_meta($post_id, '_select_breed1', esc_attr($woocommerce_select));
}
add_action('woocommerce_process_product_meta', 'woo_add_custom_general_fields_save');
マイbreed.txtファイルが含まれている3行(アイテム):
Please Select a breed...
Abyssinian
Affenpinscher
そして、生成された配列は次のようになります。
Array (
[0] => Please Select a breed...
[1] => Abyssinian
[2] => Affenpinscher
)
たとえば、"Affenpinscher"
を選択すると、I値"2"
の代わりに"Affenpinscher"
の代わりに値を取得します。
私は間違っていますか?どうすればこの問題を解決できますか?
おかげ
あなたの配列は、フラットファイルとは何の関係もない、この質問の名前を変更することを検討してください。 – Devon