Beiträge von seitz90

    Hallo zusammen,

    ich habe ein Problem - wie wohl die meisten hier ;-)

    Ich habe einen Webshop mit WooCommerce. Es gibt zwei verschiedene Lager, abhängig von einer Auswahl am Anfang der Website werden nur Lagerbestände von dem gewählten Standort angezeigt und sollten auch nur entsprechend eingekauft werden können.
    Ich prüfe bei dem Filter "woocommerce_add_cart_item" ob der Artikel zum Warenkorb hinzugefügt werden darf oder nicht und gebe eine entsprechende Fehlermeldung aus. Wordpress selbst gibt aber auch noch eine Erfolgsmeldung aus.

    Hier ein Beispiel:

    Lager A: Produkt A = 1 Stück auf Lager
    Lager B: Produkt A = 2 Stück auf Lager
    Wordpress Standard Lagerverwaltung = 3 Stück auf Lager (Lager A + Lager B)

    Auf der Detailansicht von Produkt A, bei gewähltem Lager A (1 Stück auf Lager), kann ich nur ein Stück in den Warenkorb legen. Bei einer höheren Anzahl erhalte ich eine Fehlermeldung. Lege ich nun 1 Stück in den Warenkorb und danach nochmal 1 Stück in den Warenkorb erhalte ich auch eine Fehlermeldung aber zeitgleich auch eine Erfolgsmeldung. Die Aktion wird aber nicht durchgeführt.

    Meine Frage ist nun, wie kann ich die Erfolgsmeldung von WooCommerce im Fehlerfall abschalten?

    Wieso ich mich mit Hooks rumquäle? Na, wie soll ich denn sonst die API ansteuern?

    Bei dem Hook "wc_add_to_cart_message_html" bekomm ich leider die bereits errechneten Mengen im Warenkorb. An der Stelle kann ich nicht mehr prüfen ob die Artikel zum Warenkorb hinzugefügt werden konnten oder nicht - siehe oben.

    Ich weiß dass WooCommerce den Lagerbestand selber pflegen kann, aber mein Lagerbestand wird in einem anderen System verwaltet, deshalb möchte ich ja die Anbindung machen. Und um die Daten live zu haben, kann ich die Daten nicht stündlich synchronisieren um die Daten in die Datenbank zu bekommen. Oder übersehe ich da gerade eine Möglichkeit?

    Danke für deine Antwort, das hilft mir jetzt aber auch nicht weiter.

    Das POS ist auch in dem Fall eine Kasse. Dort werden aber auch die Produkte verwaltet und auch der Lagerbestand. Details dazu habe ich nicht, das System hat aber auch eine REST API. Dass WooCommerce auch eine REST API hat, ist mir bekannt, hilft mir aber an der Stelle nicht, da ich den Lagerbestand live haben möchte, daher müsste ich ja von WP aus die REST API des POS ansprechen - funktioniert auch wunderbar.

    WooCommerce wird hier nicht als Kassensoftware benutzt.

    Ich bräuchte eig. nur noch konkret die Logik, dass die Erfolgsmeldung "Warenkorb wurde aktualisiert" und "Artikel wurde in den Warenkorb gelegt" nicht angezeigt werden, wenn an anderer Stelle verhindert wurde, dass der Artikel hinzugefügt wird, weil keine Verfügbarkeit mehr da ist.

    Hallo liebe Wordpress/WooCommerce Profis! :-)

    ich hatte in meiner Vergangenheit noch nicht sehr viel mit Wordpress zu tun und steh gerade vor der Aufgabe einen Webshop an ein POS System anzubinden. Genauer gesagt sollte der Lagerbestand aus dem externen System kommen.

    Nun habe ich keine Möglichkeit gefunden mich direkt bei der Funktion einzuhaken, die den Lagerbestand eines Artikels holt und habe dann verschiedene Hooks benutzt. Aktuell bin ich so weit, dass die Verfügbarkeit angezeigt wird, das Input-Feld zur Mengeneingabe mit der maximalen Menge begrenzt ist, Artikel ohne Verfügbarkeit ausgeblendet werden und dass keine Möglichkeit besteht mehr Artikel in den Warenkorb zu legen als auf Lager sind. Also das "gröbste" ist somit erledigt.
    Nun gibts aber diese Meldungen "Artikel wurde erfolgreich in den Warenkorb gelegt" oder "Warenkorb wurde aktualisiert" - diese Erfolgsmeldungen erscheinen immer, auch wenn ich die Aktion vorher abgebrochen habe und eine Exception oder eine Error-Notice erstelle - eh klar, ich steig ja nur per Hook ein. Das wäre jetzt auch konkret meine Frage, hat jemand schon mal sowas gemacht, wie seit ihr da vorgegangen, welche Hooks habt ihr benutzt und habt ihr das alles in den Griff bekommen?

    Ich benutze aktuell folgende Hooks:
    - woocommerce_get_stock_html -> Lagerbestand anzeigen
    - woocommerce_product_is_visible -> Prüfung ob Artikel angezeigt werden soll oder nicht
    - woocommerce_add_cart_item -> Prüfung ob neuer Artikel in den Warenkorb gelegt werden darf
    - woocommerce_after_cart_item_quantity_update -> Prüfung ob Menge des bestehenden Artikels im Warenkorb geändert werden darf
    - woocommerce_quantity_input_max -> Anpassen des max-Input Wertes im Mengenfeld
    - wc_add_to_cart_message_html -> Aktueller Versuch für das Messsage-Handling, finde aber nicht die richtigen Werte um richtig "rechnen" zu können.

    Ich würd mich sehr über hilfreiche Antworten freuen, gerne auch über Verbesserungsvorschläge ob die verwendeten Hooks richtig sind oder obs einfach viel einfacher gehen würde... Wie gesagt - noch keine Berührungspunkte mit WooCommerce bzw. Wordpress bislang ;-)

    Vielen Dank schon mal fürs lesen bis hier her :-)