以下のコードでは、値がデータベースに既に存在する場合、値を表示したいことがわかります。チェックアウトフィールドにカスタムフィールドを渡そうとしています
注文IDと私がエコーしている値を取得しています。 しかし、これを値に使うと、空になります。
add_action('woocommerce_after_order_notes', 'my_custom_checkout_field');
function my_custom_checkout_field($checkout) {
$filters = array(
'post_status' => 'any',
'post_type' => 'shop_order',
'paged' => 1,
'orderby' => 'modified',
'order' => 'DESC'
);
$loop = new WP_Query($filters);
$order_id = $loop->post->ID;
echo $key_1 = get_post_meta($order_id, '_billing_my_dist', true);
echo $key_2 = get_post_meta($order_id, '_billing_my_street', true);
echo $key_3 = get_post_meta($order_id, '_billing_my_lane', true);
echo $key_4 = get_post_meta($order_id, '_billing_my_alley', true);
echo $key_5 = get_post_meta($order_id, '_billing_my_num', true);
echo $key_6 = get_post_meta($order_id, '_billing_my_floor', true);
echo '<div id="my_custom_checkout_field"><h2>' . __('Delivery Address') . '</h2><p>' . __('Enter your address to ensure it is in the area of our delivery service') . '</p>';
woocommerce_form_field('my_field_street', array(
'type' => 'text',
'class' => array('my-field-srt-class form-row-wide'),
'label' => __('Street'),
'value' => get_post_meta($order_id, '_billing_my_street', true),
'show' => 'true',
'placeholder' => __('Street'),
), $checkout->get_value('my_field_street'));
echo '</div>';
}
は、これは正しい値をエコーしていますか? echo $ key_2 = get_post_meta($ order_id、 '_billing_my_street'、true); – MirzaP
はい、それは本当の結果を与えています。 – swati