Ich verwende ein benutzerdefiniertes Checkout-Feld, um meinen Kunden eine "Ship to a business address" -Option auf der Checkout-Seite meines Woocommerce-Shops zu geben. Der Großteil des Codes funktioniert ordnungsgemäß, aber ich kann nicht anzeigen, ob sie das Feld in den Admin-Bestelldetails im Backend aktiviert haben.Woocommerce benutzerdefinierte Felddaten auf Admin-Bestelldetails anzeigen
Ich habe eine eigene Kasse Feld meinen WooCommerce Shop hinzugefügt und gespeichert, die Daten in der Reihenfolge meta:
//add custom checkout field
add_filter('woocommerce_after_checkout_billing_form', 'gon_business_address_checkbox_field');
function gon_business_address_checkbox_field($checkout){
woocommerce_form_field('business_address_checkbox', array(
'label' => __('<h3 id="business_address_label">Check this box if you are shipping to a business.</h3>', 'woocommerce'),
'required' => false,
'clear' => false,
'type' => 'checkbox'
), $checkout->get_value('business_address_checkbox'));
}
//update order meta
add_action('woocommerce_checkout_update_order_meta', 'gon_update_order_meta_business_address');
function gon_update_order_meta_business_address($order_id) {
if ($_POST['business_address_checkbox']) update_post_meta($order_id, 'Business Address?',
esc_attr($_POST['business_address_checkbox']));
}
Hier ist, wo ich versuche, auf dem Server-Betreiber, um den Abschnitt diese Daten anzuzeigen. Ich habe die vorhergehenden Themen so genau wie möglich verfolgt, aber ohne Erfolg.
Ist dieses Problem möglicherweise, weil ich das Kontrollkästchen nicht in der richtigen Weise verwende? Das Merkwürdige ist, dass ich die Informationen über die Bestellung von E-Mails zu drucken, wie ich mit diesem Code wünsche ich immer:
add_filter('woocommerce_email_order_meta_keys', 'my_custom_checkout_field_order_meta_keys');
function my_custom_checkout_field_order_meta_keys() {
if($_POST['business_address_checkbox']){
$ship_to = 'YES';
} else {
$ship_to = 'NO';
}
echo '<h3>Ship to a business address? : '.$ship_to.'</h3>';
}
Vielen Dank @LoicTheAztec. Es scheint, dass ich die Funktion update_post_meta() falsch verstanden habe. Jetzt richtig arbeiten! U sind ein wahrer Krieger in meinen Augen. – peanutSquiggle