Plugin v. WP-Lab: Import ebay to Woocommerce einstellungen nach Import

  • Hallo zusammen, ich bin beim Aufsetzen meines Online-Shops auf ein Problem gestoßen bei dem ich leider nicht mehr weiter komme, weil dies meine Kompetenzen überschreitet.

    Kurzer Sachverhalt: Ich nutze für meinen (Kommenden Online-Shop) die Plugins von WP-Lab
    WP-Lister Pro for eBay (Für die Synchronisation zwischen meinem WooCommerce Shop und eBay, ich habe nicht vor mit diesem Tool Produkte vom Shop zu eBay zu listen da dies in meinem fall, bei vielen Einzel Listings sehr ineffizient ist. Dazu wollte ich lieber die Erweiterung für den WP-Lister "Import Ebay to WooCommerce" nutzen, da mir die Ebay Funktion nach Jahren der Erfahrung mehr liegt und dies wie gesagt in meinem Fall effizienter zu bewältigen ist.

    Soweit klappt auch alles ganz gut nur, was mir fehlt bzw. mich Stört ist, dass nach einem Import der Artikel sofort Öffentlich gestellt wird und ich es lieber hätte das dieser in den Entwurf geworfen wird nach dem Import von Ebay.

    Nach einem kurzen Kontakt mit dem Support Team von WP-lab wurde mir gesagt, das Sie aktuell keine Funktion dafür haben, es aber möglich sei, indem ich im Theme in der functions.php diesen Code benutze.

    Code
    add_action('wplister_ebay_import_after_add_product', 'my_action_ebay_import_add_product', 10, 2 );
    function my_action_ebay_import_add_product( $post_id, $data ) {
        // do something to the new WooCommerce product...
        update_post_meta( $post_id, '_visibility', 'hidden' ); // hide product
    }

    Link zum: Import from ebay to wocommerce, documentations API

    Jedoch muss dieser angepasst werden und damit bin ich leider mit meinen Kompetenzen am Ende angekommen nach langen mühseligen Versuchen, Recherchen weiß ich mir leider nicht mehr zu helfen.
    Ich wäre für jede Hilfe sehr dankbar, wenn jemand etwas Zeit und Lust hätte mir beizustehen wäre das Klasse ich würde mich auch gerne dafür arrangieren.

    Mit besten Grüßen
    Dean B.

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • update_post_meta() sollte man nicht mehr auf Produkte anwenden. Die Gretchenfrage ist ob man das Produkt publishen will aber verstecken oder ob man es gar nicht publishen möchte sondern im Entwurfsmodus lassen.

    Also entweder $product->set_catalog_visibility('hidden') oder $product->set_status('draft'). Das Produkt holt man sich mit
    $product = wc_get_product( $post_id ) und am Ende speichert man das Ganze mit $product->save() wieder ab.

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

  • Hallo mensmaximus, danke erstmal für deine schnelle Hilfe und das du dir die Zeit dafür genommen hast. Um deine Frage zu beantworten, das Produkt soll importiert werden und in den Entwurfsmodus versetzt werden da ich noch ein paar Änderungen benötige durch den Import. Derzeit wird es sofort Veröffentlicht, sobald es fertig aus Ebay importiert wurde.

    Was mir noch unklar ist wie ich die Zeilen in der function.php des Themes einbauen kann, ich habe mich lediglich leider bislang nur mit kleineren "Basics" beschäftigt wie den WP Memory Limit zu erhöhen und sonstiges. Also verstehe ich leider die ganze Struktur nicht wie man dies einsetzen kann und wo genau neuer code zu platzieren ist, um keine Script Abläufe zu unterbrechen oder spielt dies keine Rolle?

    Da alle meine bisherigen Versuche damit geendet haben das ich mir die Seite zerschossen habe....

  • Vorab, Du solltest Dir einen WooCommerce Spezialisten suchen, der Dich bei dem Projekt begleitet, denn hier im Forum wird Dir bei solchen Themen nur sehr selten schnell und kompetent geholfen werden können.

    Bevor Du den von WPLab vorgeschlagenen Weg nutzen kannst, brauchst Du ein Childtheme, denn nur dort kannst Du die functions.php bearbeiten ohne diese beim nächsten Themeupdate zu überschrieben. Und Du brauchst einen echten Texteditor (kein Word oder so) sowie FTP Zugang zu Deiner WordPress Installation. Wenn Du das alles hast, kannst Du fortfahren.

    Du kopierst die functions.php aus Deinem Childtheme ( /wp-content/themes/dein-child-theme/functions.php) per FTP auf Deinen PC und öffnest die Datei im Texteditor. Am Ende der Datei fügst Du folgenden Code ein

    PHP
    add_action('wplister_ebay_import_after_add_product', 'mmx_set_product_to_draft', 10, 2 );
    function mmx_set_product_to_draft( $post_id, $data ) {
        $product = wc_get_product( $post_id );
        $product->set_status('draft');
        $product->save();
    }

    Du speicherst die Datei und kopierst sie wieder per FTP in das Verzeichnis des Childthemes. In der Theorie sollte nun jedes Produkt nach dem Import auf Entwurf gestellt werden. Warum Theorie? Weil ich es praktisch ohne Plugin und Ebay Import nicht testen kann. Wenn es also nicht funktioniert muss man sich das live ansehen ... wobei wir wieder bei meinem Einleitungssatz wären.

    Und dann gibt es noch etwas zu beachten. Niemand hier kennt Deine Installation. Wir wissen nicht welche Plugins Du verwendest. Einige Plugins reagieren selbst auf sogenannte Filter- und Action Hooks in WordPress und WooCommerce. Nachdem die obige Funktion nach dem Hinzufügen eines Produkts erfolgt (zumindest ist das die Beschreibung in der API), kann es sein, dass andere Plugins bereits auf einen Hook wie z.B. 'woocommerce_product_object_updated_props' oder 'post_updated' reagiert haben. Das muss auch gar nicht schlimm sein aber es kann unter Umständen nicht gewollte Nebeneffekte haben. Wie z.B. bei Einsatz von AutomateWoo und einer Aktion die beim Erstellen von Produkten ausgelöst werden soll.

    Es wäre also sicherlich sinnvoll den Filter Hook 'wplister_ebay_import_product_data' (steht in der API Doku) näher zu betrachten, weil dieser vor dem Import eingreift. Von hier aus ist aber nicht erkennbar, ob dort der Status (draft) übergeben werden könnte.

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

  • Zuerst einmal vielen Dank dir mensmaximus, für deine schnelle und äußert kompetente Hilfe. Das Script funktioniert einwandfrei (Derzeit versuche ich noch nachzuvollziehen wieso es das tut, aber die Logik dahinter ist mir schon irgendwie bewusst. Kleinere Basic Probleme löse ich immer wieder gerne da ich mich verständlicherweise auch in diese Themengebiete einarbeiten möchte. Vorzugsweise auch mit PHP.
    Mit WordPress selbst habe ich schon einige Jahre zu tun jedoch nur kleinere Projekte und noch nie was Größeres wie einen eigenen Shop, der gut koordiniert mit eBay zusammen arbeiten soll.

    Einen Spezialisten würde ich mir gerne immer hinzuziehen, wenn ich mir mal überhaupt nicht mehr in irgendeiner Art und wiese mehr zu helfen weiß. Denn nötigen Obolus dafür weiterzureichen dafür bin ich mir keineswegs zu Schade, dies wäre auch der nächste Schritt gewesen damit mein Projekt nicht an diesem hängen bleibt. Umso dankbarer bin ich dir das du dir die Zeit und Mühe dafür genommen hast.

    Ich wünsche dir schon einmal vorab ein äußerst angenehmes Wochenende und hoffe mal das ich mich eines Tages bei dir arrangieren kann.
    Beste Grüße
    Dean

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!