WooCommerce Kundenauftrag Detail in BS Modal

8

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:

  • Auftragshistorie
  • Herunterladen
  • Adressen
  • Info bearbeiten
  • Abmelden

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 :

%Vor%

und in derselben Datei:

%Vor%

Ein wenig JS

%Vor%

und in WordPress von function.php

eingebunden %Vor%     
Yuri 22.08.2016, 00:26
quelle

3 Antworten

4

woocommerce_order_details_table ($ order_id)

Diese WooCommerce-Funktion gibt die vollständigen Bestelldetails im HTML-Formular von $order_id

zurück     
Raunak Gupta 30.08.2016, 11:10
quelle
4
  

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) ...

%Vor%

Sie müssen Ihrem modalen Fenster existierende css-Regeln hinzufügen und / oder css-Regeln anpassen.

Dieser Code ist getestet und voll funktionsfähig.

    
LoicTheAztec 31.08.2016 11:11
quelle
2

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.

%Vor%

Klicken Sie hier im Abschnitt "geerbte Methoden" auf die Methoden, die Sie möglicherweise aufrufen müssen, um alle benötigten Informationen zu erhalten. Ссылка

    
William Patton 30.08.2016 05:03
quelle