Hallo zusammen, ich habe ähnliche Probleme im Netz gefunden, aber nicht exakt mein Problem. Die dort angegebenen Lösungen haben nichts geholfen.
Folgendes stellt sich zusammengefasst dar:
Ich nutze einen Hook in Woocommerce, um im Kassen-Bereich einen Hinweis auszugeben.
Ergebnis:
Hinweis wird
a) nicht an der Stelle angezeigt wo es der Hook vermuten lässt
b) direkt angezeigt, dann wird die order-review augenscheinlich refreshed und mein Hinweis erneut gezeichnet. Er ist also jetzt doppelt zu sehen (Screenshot)
Mehrfaches aktualisieren des Kassenbereiches führt nicht zu weiteren Zeichnungen.
Ich habe folgende Funktion zum Test in der functions.php meines Child-Themes hinterlegt:
function action_woocommerce_review_order_before_order_total( ) {
echo '<tr class="info">Test</tr>';
}
add_action( 'woocommerce_review_order_before_order_total', 'action_woocommerce_review_order_before_order_total', 10, 0 );
<tr> habe ich genutzt, weil die ganze order-review als Tabelle aufgebaut ist.
Hook befindet sich in Zeile 100 der woocommerce/templates/checkout/review-order.php von woocommerce.
Ich würde jetzt versuchen irgendeine Überprüfung einzubauen, ob die Funktion schon einmal ausgeführt wurde, um die doppelte Zeichnung zu umgehen. Denkt ihr das hilft?
Die Frage ist trotzdem noch, wieso wird das echo außerhalb der Tabelle ausgeführt und nicht innerhalb?
WordPress: 5.6 (aktueller Stand 28.01.21)
Woocommerce: aktuell Stand 28.01.21
Theme: Flatsome (aktuell Stand 28.01.21)
Plug-Ins: siehe Screenshot 2 (Checkout Field Editor ist eigentlich aktiv, aber da ich vermutet habe, dass es hier Probleme bereitet kurzzeitig deaktiviert. Der Social-Kram ist deaktiviert und wird gelöscht, falss ich keine Verwendung dafür finde)