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

Shortcode für Lagerstatus pro Variation

Dieses Thema im Forum "Plugins und Widgets" wurde erstellt von sommermädchen, 14. Januar 2017.

  1. sommermädchen

    sommermädchen Well-Known Member

    Registriert seit:
    16. Juni 2014
    Beiträge:
    125
    Zustimmungen:
    0
    Hallo,
    ich würde gerne über meine functions.php einen Shortcode erstellen, den ich dann je nach Bedarf auf den einzelnen Produktseiten nutzen kann.
    Dieser Shortcode soll mir die Lagermenge pro Variation ausgeben. Wenn ich also das Produkt "T-Shirt Blumenprint" habe und es von diesem Shirt 3 Größenvarianten gibt (S,M,L), sollte der Shortcode folgendes Ergebnis liefern:
    S: 0 auf Lager
    M: 3 auf Lager
    L: 1 auf Lager
    Alternativ würde es mir auch reichen wenn nur angegeben wird ob die Variation auf Lager ist oder nicht (also ohne Menge).

    Hat jemand eine Idee wie ich das hinbekomme?
    Vielen Dank schonmal!
     
  2. Henk1060

    Henk1060 Well-Known Member

    Registriert seit:
    4. September 2014
    Beiträge:
    3.927
    Zustimmungen:
    349
    ich nehem an du verwendest woocommerce?

    Oder hast du was selbst gestricktes?
     
  3. sommermädchen

    sommermädchen Well-Known Member

    Registriert seit:
    16. Juni 2014
    Beiträge:
    125
    Zustimmungen:
    0
    Achso ja, sorry, ich verwende woocommerce :)
     
  4. Henk1060

    Henk1060 Well-Known Member

    Registriert seit:
    4. September 2014
    Beiträge:
    3.927
    Zustimmungen:
    349
    kannst du doch über die produktseite ausgeben lassen..
    wenn du die lagerverwaltung aktivierts...

    oder habe ich jetzt einen denk fehler
     
  5. sommermädchen

    sommermädchen Well-Known Member

    Registriert seit:
    16. Juni 2014
    Beiträge:
    125
    Zustimmungen:
    0
    Danke für deine schnelle Antwort.
    Wenn ichs übers Backend aktiviere, erscheint die Lagermenge immer nur bei der gerade ausgewählten Variation. Ich möchte aber dass alle Variationen mit den verfügbaren Mengen untereinander aufgelistet sind (ich brauche das als Shortcode weil ich es auch noch woanders als auf der Produktseite einbinden möchte).
     
  6. Henk1060

    Henk1060 Well-Known Member

    Registriert seit:
    4. September 2014
    Beiträge:
    3.927
    Zustimmungen:
    349
    Bin jetzt kei Profi...

    jedoch mit einen shorcode ist es nicht getan, da zb. der aufruf <?php echo $product->get_stock_quantity(); ?>
    Mit einen Produkt und Varianten aufgerufen werden muss.

    Das heist das müsste mit der Produkt ID geschen...
     
  7. Henk1060

    Henk1060 Well-Known Member

    Registriert seit:
    4. September 2014
    Beiträge:
    3.927
    Zustimmungen:
    349
    nur mal eine idee...
    musst du selbst testen


    global $woocommerce;
    global $product;
    $product_id = hier die produkt id;
    $product = wc_get_product($product_id);
    echo $product->get_stock_quantity();

     
  8. sommermädchen

    sommermädchen Well-Known Member

    Registriert seit:
    16. Juni 2014
    Beiträge:
    125
    Zustimmungen:
    0
    Danke, die Produkt ID soll ja dynamisch aufgerufen werden, halt immer von dem Produkt auf dessen Seite der Shortcode eingebunden ist. Wie müsste ich deinen Code dafür abändern?
    Das Plugin
    [h=2]WooCommerce Availability Chart
    [/h] (https://wordpress.org/plugins/woocommerce-availability-chart/) tut im Grunde genau das was ich will, aber ich bräuchte das Ergebnis als Shortcode, den ich an beliebiger Stelle einbinden kann....Und besten würde das Ergebnis nur sagen: Variante 1: Auf Lager, Variante 2: nicht auf Lager.
     
  9. b3317133

    b3317133 Well-Known Member

    Registriert seit:
    21. November 2014
    Beiträge:
    11.660
    Zustimmungen:
    1.783
    Man könnte für das o.g. Plugin einen eigenen Shortcode [woocommerce_availability_chart] erstellen und darin z.B. WooCommerce_Availability_Chart()->availability_chart(); aufrufen, z.B. so (ungetestet):
    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
     
  10. Henk1060

    Henk1060 Well-Known Member

    Registriert seit:
    4. September 2014
    Beiträge:
    3.927
    Zustimmungen:
    349
    Ja da ist der hund begraben, auf was für einer seite willst du das einbinden?
    woher soll der shortcode wissen welches produkt den stand azeigen soll?

    EDIT: ah wer lesen kann ist klar im vorteil ;) auf der gleichen seite wo das produkt ist
     
  11. sommermädchen

    sommermädchen Well-Known Member

    Registriert seit:
    16. Juni 2014
    Beiträge:
    125
    Zustimmungen:
    0
    Mit dem genannten Plugin und dem Code von b3317133 würde es funktionieren. Vielen Dank dafür.
    Allerdings hab ich die Hoffnung noch nicht aufgegeben, dass es auch einfacher und ohne zusätzliches Plugin geht. Es muss doch eine Möglichkeit geben, alle angelegten Varianten eines Produktes mit dem Zusatz "auf Lager" oder "nicht auf Lager" ausgeben zu lassen, oder?!

    Ich hatte auch noch das hier gefunden http://stackoverflow.com/questions/30514596/how-get-variations-stock-quantity-woocommerce und den Code von db306 und Tuesdave versucht. Der lieferte allerdings nur leere Zeilen :/
     
    #11 sommermädchen, 15. Januar 2017
    Zuletzt bearbeitet: 15. Januar 2017
  12. Henk1060

    Henk1060 Well-Known Member

    Registriert seit:
    4. September 2014
    Beiträge:
    3.927
    Zustimmungen:
    349
    hm...
    verusch mal das... habe gerade keine spielwiese zum testen

    <?php
    global $product;
    $numleft
    = $product->get_stock_quantity();
    if($numleft==0) {
    // out of stock
    echo
    "Nicht auf Lager";
    }
    else if($numleft==1) {
    echo
    "Only ".$numleft ." item left.";
    }
    else {
    echo
    "Only ".$numleft ." items left.";
    }
    ?>
     
  13. sommermädchen

    sommermädchen Well-Known Member

    Registriert seit:
    16. Juni 2014
    Beiträge:
    125
    Zustimmungen:
    0
    Das liefert leider immer "Nicht auf Lager", auch wenn die Variante auf Lager ist...
    Und ich bräuchte das ganze eben als Auflistung aller Varianten, d.h. die Auflistung soll immer alle Varianten mit Lagerstatus anzeigen, egal welche gerade ausgewählt ist...
     
  14. Henk1060

    Henk1060 Well-Known Member

    Registriert seit:
    4. September 2014
    Beiträge:
    3.927
    Zustimmungen:
    349
    hab mir gerade das modul runter geladen und mal angesehen.
    Das ist ja ein sehr schlankes modul.

    Oder schau dir mal selbst den Code an....
    Vielleicht das eine oder andere rauskopiern.
    und im tpl einfügen ;)
     
  15. sommermädchen

    sommermädchen Well-Known Member

    Registriert seit:
    16. Juni 2014
    Beiträge:
    125
    Zustimmungen:
    0
    Hab ich schon versucht aber leider nicht hinbekommen :/
     
  16. Henk1060

    Henk1060 Well-Known Member

    Registriert seit:
    4. September 2014
    Beiträge:
    3.927
    Zustimmungen:
    349
    wie lange hast du versucht ,)
     
  17. Azrael_0815

    Azrael_0815 Well-Known Member

    Registriert seit:
    7. Juli 2015
    Beiträge:
    591
    Zustimmungen:
    35
    Kann man noch beliebig aufbohren/vereinfachen.

    Shortcode ist [instock]
     
  18. sommermädchen

    sommermädchen Well-Known Member

    Registriert seit:
    16. Juni 2014
    Beiträge:
    125
    Zustimmungen:
    0
    Ich versuche das seit gestern morgen. Das Problem ist dass ich nicht viel Ahnung von php habe und nicht weiß was ich da tue :D
     
  19. sommermädchen

    sommermädchen Well-Known Member

    Registriert seit:
    16. Juni 2014
    Beiträge:
    125
    Zustimmungen:
    0
    Mit dem Code von Azrael_0815 funktioniert es soweit - JUHU, vielen Dank!
    Jetzt versuche ich das Ergebnis noch über das Plugin Contact Form 7 Dynamic Text Extension per Mail zu senden (dafür habe ich den Shortcode benötigt), aber das funktioniert noch nicht, da wird einfach nichts angezeigt....
     
  20. sommermädchen

    sommermädchen Well-Known Member

    Registriert seit:
    16. Juni 2014
    Beiträge:
    125
    Zustimmungen:
    0
    Wie müsste ich den Code von Azrael_0815 denn bearbeiten, wenn ich nicht die genaue Anzahl an verfügbaren Produkte ausgegeben haben möchte sondern nur "Auf Lager" oder "Nicht auf Lager"??
    Vielen Dank schonmal...
     
  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