Ich gehe davon aus, dass Sie bereits richtig dieses benutzerdefinierte Feld mit einigem Code auf Checkout-Seite festgelegt haben, dass die Anzeige benutzerdefiniertes Feld und speichern Sie den Wert dieses benutzerdefinierten Felds in der Reihenfolge in der Datenbank (wenn nicht, erhalten Sie nichts).
Sie müssen zuerst die order ID
abzurufen, bevor Sie den Wert dieses benutzerdefinierte Feld zu bekommen, und es können zwei Fälle auftreten:
- Sie haben bereits die
$order
Variable oder Objekt. Sie rufen einfach mit:
$order_id = $order->id;
// or
$order_id = str_replace('#', '', $order->get_order_number());
- Sie haben keine
$order
Objekt haben, werden Sie es brauchen zuerst zu bekommen:
global $woocommerce, $post;
$order = new WC_Order($post->id);
// and after you can get the order ID
$order_id = $order->id;
// or
$order_id = str_replace('#', '', $order->get_order_number());
nun können Sie den Wert erhalten und anzuzeigen, weil Sie haben $order_id
:
<?php $day = get_post_meta($order_id, 'day', true);
if (!empty($day)) : ?>
<p><strong><?php _e('day:', 'woocommerce-pip'); ?></strong> <?php echo $day; ?></p>
<?php endif; ?>
Aber Sie sollten Ihre Datenbank innerhalb der order_id
als post_id
in wp_postmeta
Tabelle überprüfen, dass ein meta_value => 'day'
mit einem Wert in der entsprechenden meta_value
Zeile/Spalte existieren. Wenn nicht, gibt es sicherlich ein Problem mit Ihrem Code, wenn Sie dieses benutzerdefinierte Feld erstellen und den Wert auf der Checkout-Seite speichern.
Wie haben Sie das Feld in der Datenbank gespeichert? Bist du sicher, dass es da ist? – helgatheviking
Ja Feld funktioniert perfekt in der Datenbank. Deine Lösung hat perfekt funktioniert, du bist ein Champion, danke! – Adam
@Adam Gern geschehen, es war nicht so einfach zu erraten:) Danke. – LoicTheAztec