Auf einer WordPress-Website, auf der WooCommerce ausgeführt wird, kann sich der Benutzer in seinem (Standard) persönlichen Bereich anmelden und Informationen anzeigen wie:
Auf der Registerkarte orders
wird standardmäßig eine Tabelle angezeigt, die eine Liste aller Aufträge enthält, mit einer View
-Schaltfläche, die auf die gesamte Detailseite dieser Bestellung umleitet.
Was ich versuche, ist, diese Tabellenansicht in einem modalen Fenster anzuzeigen.
Ich habe kein Problem darin, das Modal mit der Ziel-URL anzuzeigen, die darin geladen ist.
Das eigentliche Problem ist, dass die Ziel-URL die der ganzen Seite ist, die wie in <iframe>
angezeigt wird, und nicht das ist, was ich will.
Ich denke, es gibt einen Shortcode, der es erlaubt, nur diesen Tisch zu laden, oder vielleicht eine Woocommerce-Funktion wie load_order_content_by_id($id)
?
Kann mir jemand in die richtige Richtung zeigen?
Danke
=== Gelöst ===
Danke an Raunak Gupta, dass er mich auf die richtige Funktion hingewiesen hat.
Ich überschreibe die Vorlage orders.php, fügte Modal window html hinzu und editierte $actions
:
und in derselben Datei:
%Vor%Ein wenig JS
%Vor% und in WordPress von function.php
woocommerce_order_details_table ($ order_id)
Diese WooCommerce-Funktion gibt die vollständigen Bestelldetails im HTML-Formular von $order_id
%Vor%Hier ist der vollständige Code, um aktuelle Kundenaufträge in einem modalen Fenster anzuzeigen . Es basiert auf einer klassischen Abfrage, um aktuelle Benutzeraufträge zu erhalten, und auf der Vorlage
my-account/orders.php
(leicht angepasst) ...
Sie müssen Ihrem modalen Fenster existierende css-Regeln hinzufügen und / oder css-Regeln anpassen.
Dieser Code ist getestet und voll funktionsfähig.
Es gibt keine einzige Funktion, von der ich weiß, dass sie alle Bestelldetails, die Sie benötigen, auf einmal bekommen kann, aber Sie können WC_Order
class aufrufen, um zu bekommen, was Sie brauchen. Wenn Sie einige ähnliche Methoden aufrufen, erhalten Sie die Informationen, die Sie benötigen. Sie werden wahrscheinlich mehr als nur die Methode get_items()
aufrufen müssen, abhängig von den genauen Informationen, die Sie benötigen. Im Allgemeinen geben sie Objekte zurück, die in der Struktur denen von Objekten ähnlich sind.
Klicken Sie hier im Abschnitt "geerbte Methoden" auf die Methoden, die Sie möglicherweise aufrufen müssen, um alle benötigten Informationen zu erhalten. Ссылка
Tags und Links php modal-dialog wordpress woocommerce orders