1. Herzlich willkommen bei WPDE.org, dem grössten und ältesten deutschsprachigen Community-Forum rund um das Thema WordPress. Du musst angemeldet oder registriert sein, um Beiträge verfassen zu können.
    Information ausblenden

WooCommerce Online Ticketsystem läuft... Optionaler Hardticket Versand integrieren?

Dieses Thema im Forum "Onlineshop mit WordPress" wurde erstellt von Wordleo, 22. Februar 2018.

  1. Azrael_0815

    Azrael_0815 Well-Known Member

    Registriert seit:
    7. Juli 2015
    Beiträge:
    591
    Zustimmungen:
    35
    Mach mal folgendes:

    Entferne den Hook processing aus der woohelper.php.


    add_action('woocommerce_order_status_processing', array(&$this, 'process_order_tickets'), 10, 1);

    weg.

    Und dann

    do_action('woocommerce_order_status_completed', array(&$this, 'process_order_tickets'), 10, 1);

    hinter das else { im Plugin.

    Damit führt er die Aktion aus, ändert aber nix am Status. Es sei denn, die Funktion ändert da noch was.
     
  2. mensmaximus

    mensmaximus Well-Known Member

    Registriert seit:
    24. Juli 2014
    Beiträge:
    8.857
    Zustimmungen:
    437
    Jetzt verrennt Ihr Euch aber gewaltig. Den Aufruf gibt es nicht. do_action definiert einen Tag auf dem man sich mit add_action einhooken kann und übergibt wahlweise Parameter an die Funktion, die sich auf dem Tag einhookt.
     
  3. Wordleo

    Wordleo Well-Known Member

    Registriert seit:
    26. Juni 2009
    Beiträge:
    253
    Zustimmungen:
    0
    Hi ;)

    Nun läuft es bei den Online Tickets wieder rund. Dafür hauts mir mit "Hardticket" wieder nen Fatal Error rein.

    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
     
  4. Azrael_0815

    Azrael_0815 Well-Known Member

    Registriert seit:
    7. Juli 2015
    Beiträge:
    591
    Zustimmungen:
    35
    "This function invokes all functions attached to action hook $tag."

    Ich suche halt eine Möglichkeit, die Funktion ausführen zu lassen, mensmaximus, also quasi zu simulieren, der Status sei Completed.

    Hast Du da ne Möglichkeit, die Funktion ausführen zu lassen, mensmaximus?
     
  5. Azrael_0815

    Azrael_0815 Well-Known Member

    Registriert seit:
    7. Juli 2015
    Beiträge:
    591
    Zustimmungen:
    35
    Okay, entferne das mit dem do_action wieder. Wir führen einen neuen Status ein:

    Nach

    $order = new WC_Order( $order_id ); im Plugin fügst Du ein:

    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Gibt es jetzt den neuen Status "Hardcopy" im Backend?
     
  6. mensmaximus

    mensmaximus Well-Known Member

    Registriert seit:
    24. Juli 2014
    Beiträge:
    8.857
    Zustimmungen:
    437
    add_action war schon richtig. Und der Hook woocommerce_order_status_processing ist auch richtig. Lasst die woohelper.php in Ruhe. Definiert eine eigene Funktion (Plugin oder Childtheme) die in Abhängigkeit des Checkbox dann die Klassenmethode process_order_tickets ausführt bzw. eine eigene Methode (so detailliert habe ich mir den Verlauf nicht angesehen) . Da ich den Quellcode nicht kenne kann ich nicht sagen ob der Aufruf statisch (Class::Method) erfolgen oder ob zuerst ein Objekt erstellt werden muss ( $foo = new Class(); $foo->method() ).
     
  7. Wordleo

    Wordleo Well-Known Member

    Registriert seit:
    26. Juni 2009
    Beiträge:
    253
    Zustimmungen:
    0
    :(

    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
     
  8. Azrael_0815

    Azrael_0815 Well-Known Member

    Registriert seit:
    7. Juli 2015
    Beiträge:
    591
    Zustimmungen:
    35
    Sorry, bitte pack den Codeteil über

    add_action( 'woocommerce_thankyou', 'auto_complete_paid_order', 10, 1 ); Wordleo. Sorry, hab da nen Hook übersehen.
     
  9. Wordleo

    Wordleo Well-Known Member

    Registriert seit:
    26. Juni 2009
    Beiträge:
    253
    Zustimmungen:
    0
    Du da brauchst dich nicht entschuldigen - Ich bin raus seitdem das Word Hook gefallen ist hier... ;-/
     
  10. mensmaximus

    mensmaximus Well-Known Member

    Registriert seit:
    24. Juli 2014
    Beiträge:
    8.857
    Zustimmungen:
    437

    function add_hardcopy_order_status( $order_statuses )

    aber

    add_filter( 'wc_order_statuses', 'add_order_hardcopy_status' );


    add_hardcopy_order_status != add_order_hardcopy_status
     
  11. mensmaximus

    mensmaximus Well-Known Member

    Registriert seit:
    24. Juli 2014
    Beiträge:
    8.857
    Zustimmungen:
    437
    @azrael denk dran, dass Du mit remove_action auch Hooks entfernen kannst. Wenn Dir der Originalaufruf in FooEvents also in die Quere kommt einfach früher einhooken und weg damit.
     
  12. Azrael_0815

    Azrael_0815 Well-Known Member

    Registriert seit:
    7. Juli 2015
    Beiträge:
    591
    Zustimmungen:
    35
    Achte da bitte drauf, Wordleo, dass der Filter-Hook die richtige Funktion aufruft, wie mensmaximus das erwähnt hat :)
     
  13. Wordleo

    Wordleo Well-Known Member

    Registriert seit:
    26. Juni 2009
    Beiträge:
    253
    Zustimmungen:
    0
    Hi,

    danke ihr beiden. Ich hab das geändert!

    Nun gibt es den Status "Hardcopy" - gesetzt war nach Bestellanfrage aber der "In Bearbeitung"...
     

    Anhänge:

    #73 Wordleo, 26. Februar 2018
    Zuletzt bearbeitet: 26. Februar 2018
  14. mensmaximus

    mensmaximus Well-Known Member

    Registriert seit:
    24. Juli 2014
    Beiträge:
    8.857
    Zustimmungen:
    437
    Beide Codes sind identisch
     
  15. Azrael_0815

    Azrael_0815 Well-Known Member

    Registriert seit:
    7. Juli 2015
    Beiträge:
    591
    Zustimmungen:
    35
    Und jetzt machst Du wischen die else-Klammern im Plugin

    $order->update_status( 'hardcopy' );

    Eine Bestellung mit Postversand müsste jetzt den Status hardcopy bekommen.
     
  16. Wordleo

    Wordleo Well-Known Member

    Registriert seit:
    26. Juni 2009
    Beiträge:
    253
    Zustimmungen:
    0

    Sorry - hatte versucht den PHP Code einzusetzen aber der wird komisch dargestellt... Nun nochmal!

    HARDTICKET_CHECKBOX

    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
     
  17. Wordleo

    Wordleo Well-Known Member

    Registriert seit:
    26. Juni 2009
    Beiträge:
    253
    Zustimmungen:
    0
    NO_PDF_TICKET_MAIL

    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
     
  18. Wordleo

    Wordleo Well-Known Member

    Registriert seit:
    26. Juni 2009
    Beiträge:
    253
    Zustimmungen:
    0


    Nach Bestellung folgt:

    1. Email Bestellbestätigung
    2. Email Zahlungseingang erhalten.

    Status im Backend "Zahlung ausstehend"


    LG

    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
     
  19. Azrael_0815

    Azrael_0815 Well-Known Member

    Registriert seit:
    7. Juli 2015
    Beiträge:
    591
    Zustimmungen:
    35
    Merkwürdig....muss ich einen Moment drüber nachdenken.
    Was steht denn als value bei der Option, also im Quelltext des Select?

    Und das war mit gecheckter Checkbox?

    Probiere das bitte nochmal mit gecheckter Checkbox. Eigentlich müsste das den Status "Hardcopy" haben.
     
    #79 Azrael_0815, 26. Februar 2018
    Zuletzt bearbeitet: 26. Februar 2018
  20. mensmaximus

    mensmaximus Well-Known Member

    Registriert seit:
    24. Juli 2014
    Beiträge:
    8.857
    Zustimmungen:
    437
    An die Zahlungsart denken ;)
     
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden