Beiträge von andi_t

    Moinsen allerseits,
    ich arbeite gerade an einer Website und möchte dort gerne Facebookveranstaltungen (die eigenen) importieren.
    Hat jemand von Euch da schon mit bestimmten Tools Erfahrungen gemacht? Ich finde da nur "pay"-Tools und zum testen ist das eher unglücklich, wenn ich da erst 3-5 Tools kaufen muss und danach feststelle, dass es nicht das kann was ich suche.

    Das "Import Facebook Events" (https://xylusthemes.com/plugins/xt-facebook-events) sieht ja auf den ersten Blick schon mal ganz interessant aus, aber ich würde gerne da noch was aus eigenen Erfahrungen anderer hören...

    LG Andi

    ok, Danke, da werde ich mich dann noch mit beschäftigen müssen.
    Habe es jetzt so gelöst:


    nun klappt alles :)

    Danke, das hat mich wirklich weitergebracht. Manchmal ist man so lange am basteln, dass man vor lauter Frust nicht mehr die einfachsten Sachen sieht.

    Ich erhielt nun die Fehlermeldung "Der Beitrag konnte nicht in der Datenbank aktualisiert werden". Leider ergab die Suche nichts sinnvolles. Aber als ich es dann auf englisch mit “Could not update post in the database” versucht hatte kam ich weiter.
    Das Problem war, dass die Daten utf-8-codiert sein müssen.
    Also flugs utf8_encode() um meine Werte gebastelt und alles funktioniert wie gewünscht.

    Danke, Du hast mir meinen Tag gerettet :)

    ... und hier die 2. Hälfte:

    die 1. Hälfte des post_content Codes

    Moin,
    leider gab es keinerlei Fehlermeldungen. Das war ja das fatale. Ich habe keine Ahnung was da nicht funktioniert, da ich keinerlei Feedback habe :(


    ich habe folgendes probiert:


    PHP
    $my_post = array(
                                          'ID'           => $art->ID,
                                          'post_content' => macheSeitenInhalt($art->ID)
                                      );
      $post_id = wp_update_post( $my_post );
      if (is_wp_error($post_id)) {
        $errors = $post_id->get_error_messages();
        foreach ($errors as $error) {
            echo $error;
        }


    PHP
    $wpdb->query("UPDATE ".$wpdb->prefix."posts SET post_content = '".macheSeitenInhalt($art->ID)."' WHERE ID = ".$art->ID.";");


    und das ganze sowohl escaped als auch ohne...

    Hi Ihr,
    ich bin gerade am verzweifeln und habe noch keinen Ansatz gefunden.
    Ich möchte bei meinen Posts das Feld "post_content" per php mit einem bestimmten Inhalt befüllen (der natürlich noch per php verändert wurde).
    Gibt es dabei irgendwelche Rahmenbedingungen was erlaubt ist?
    Wenn ich nur kleine Werte eintrage ist es kein Problem und alles funktioniert. Ich möchte aber die veränderten Werte einer Diviseite einfügen.
    Ich habe es mit $wpdb->update, wp_update_post, $wpdb->query("UPDATE, $wpdb->query($wpdb->prepare("UPDATE, probiert.
    Ich versucht die Werte mit esc_textarea, esc_sql, esc_html, sanitize_textarea_field, ... zu escapen, aber alles klappte nicht. Ich bekomme leider auch keine Fehlermeldungen, sondern sehe nur, dass ncihts eingetragen wurde. Liegt es nun ander Datenmenge, an den Sonderzeichen oder woran sonst?

    Selbst wenn ich einen bestehenden per Adminer aus einem anderen "post_content" herauskopiere und dann versuche es per php in andere Datensätz zu kopieren klappt es nicht.
    Hat jemand von Euch da nen Tip?

    LG Andi

    hat denn jemand von Euch eine Idee, wo ich das Lieferdatum per php verändern kann?
    Über die Rest-API habe ich da keinen Zugang gefunden und auch direkt per Hand habe ich da noch nichts gefunden. Es scheint da keine direkte Einflussmöglichkeit zu geben, oder habe ich da was übersehen?

    naja, es geht halt um folgende Situation:
    a) von Produkt 1 sind 5 Stück vorhanden, der Kunde möchte aber 7 bestellen. Die Verfügbarkeit beim Vorlieferanten ist sichergestellt. Ich würde nun gerne die Lieferzeit um eine festgelegt Anzahl von Tagen erhöhen.
    b) das Produkt ist aktuell zwar nicht im Lager. Die Verfügbarkeit beim Vorlieferanten ist sichergestellt. Der Kunde soll das Programm dann aber trotzdem bestellen können, nur halt mit einer längeren Lieferzeit.

    By the way
    c) wie kann ich eine Liste der Lagerbestände einlesen, geht das nur per Fremdsoftware oder Eigenlösungen, oder habe ich da noch was übersehen?

    [COLOR=#1D2129][FONT=Helvetica]Hallo Leute,[/FONT][/COLOR]
    [COLOR=#1D2129][FONT=Helvetica]ich bastele gerade an meinem neuen WC-Shop rum.[/FONT][/COLOR]
    [COLOR=#1D2129][FONT=Helvetica]Dabei bin ich über ein Problem gestolpert.[/FONT][/COLOR]
    [COLOR=#1D2129][FONT=Helvetica]Ich habe einige Artikel die nicht lagernd sind. Ich möchte diese aber bestellbar lassen. Das ist mit WC ja auch kein Problem (Lieferrückstand: "Erlauben, aber Kunde benachrichtigen"). [/FONT][/COLOR]
    [COLOR=#1D2129][FONT=Helvetica]Aber natürlich kann ich diese Produkte nicht in der normalen Lieferzeit versenden, das dauert mindestens eine Woche länger.[/FONT][/COLOR][COLOR=#1D2129][FONT=Helvetica]
    Wie kann ich es am einfachsten realisieren die Lieferzeit für solche Artikel zu erhöhen? Insbesondere wenn noch eine Teilmenge des Artikels vorhanden ist, aber es nicht für die gesamte Bestellung des Kunden reicht.
    Ich hatte es schon mit den Plugin "WooCommerce Shipping Additional Days" ausprobiert, aber das brachte leider nicht den gewünschten Erfolg.
    Ich arbeite mit der aktuellen Version von WC und WC Germanized Pro und WPML.
    Hat da jemand von Euch einen guten Tipp? Notfalls muss ich das halt selber programmieren, würde es aber gerne vermeiden...


    [FONT=inherit]LG Andi

    [FONT=inherit]LG Andu;


    )[/FONT][/FONT][/FONT][/COLOR]

    Hi Ralf,


    Wenn du PHP 7.08 verwendest - kannst du ein PHP Bug haben - Zitat aus der Changelog von PHP
    http://php.net/ChangeLog-7.php

    Fixed bug #72275 (Integer Overflow in json_encode()/json_decode()/ json_utf8_to_utf16()).

    https://bugs.php.net/bug.php?id=72275


    ich habe nun auf php 7.1 umgestellt, leider ohne Verbesserung.


    die fehlerhafte Rückmeldung scheint diese hier zu sein:


    auf den ersten Blick sieht mir das doch recht normal aus?
    Sieht da jemand von Euch noch etwas? Ob ich den Atrribute Name verwende, oder nicht, verändert das Resultat nicht.

    LG Andi


    Beim Erstellen der Variante wird nur id und option verwendet. Beides muss bereits existieren ansonsten muss das Produkt Attribute vorher erstellt werden.


    ne, habe eben nochmal den "name" gegelassen und es kommt immer noch der Fehler.
    Die Attribute werden ja schon vorher erzeugt:
    mittels

    PHP
    $akt_attribute=add_attribute();// Attribute zu Woocommerce hinzufuegen


    und


    und

    PHP
    function get_attribute() 
        {
            $produkt_attribute = array();
            $anzahl_varianten=6;
            for ($i=0;$i<$anzahl_varianten;$i++)
                {
                    $produkt_attribute[XX_ATTRIBUT_NAME]['terms'][] = get_option('xx_name_'.$i);
                }            
            return $produkt_attribute;
        }

    ich finde einfach keinen Grund warum das nicht läuft :(

    LG Andi

    OK, dann versuche ich es mal detaillierter anzugeben:
    Der Api-Aufruf:

    PHP
    $shop="xxxx";
    $schluessel="xxxx";
    $geheimnis="xxxx";
    $api_version="wc/v2";
    global $a_woocommerce;
    require __DIR__. '/vendor/autoload.php';
    use Automattic\WooCommerce\Client;
    use Automattic\WooCommerce\HttpClient\HttpClientException;        
    $a_woocommerce = new Client($shop, $schluessel, $geheimnis, ['wp_api' => true, 'version' => $api_version]);


    Die Produkterstellung:


    klappt hervorragend, und das System gibt mir folgende Werte zurück:

    Sobald ich dann aber die Varianten dazu erzeugen möchte

    gibt es den oben erwähnten Syntaxerror, den ich mir nicht wirklich erklären kann.

    Ich hoffe es ist mit diesen zusätzlichen Angaben verständlicher.

    LG Andi

    *oops*, die liefere ich doch sofort nach:
    hier der API-Aufruf:

    PHP
    $api_version="wc/v2";
    global $a_woocommerce;
    require __DIR__. '/vendor/autoload.php';
    use Automattic\WooCommerce\Client;
    use Automattic\WooCommerce\HttpClient\HttpClientException;        
    $a_woocommerce = new Client($shop, $schluessel, $geheimnis, ['wp_api' => true, 'version' => $api_version]);

    und hier der Rest zusammen:

    wie gesagt, bis hier hin ist alles schön, die Produkte erscheinen genauso wie ich es möchte im Backend, auch die Produkteigenschaften sind im Backend da, und stehen auch auf "Für Varianten verwendet": ja.

    Sobald ich dann folgendes aufrufe

    kommt wieder die obige Fehlermeldung.

    Danke, das hatte ich noch gar nicht gesehen.

    Hatte zwischenzeitlich zuviel anderes um die Ohren, sitze nun aber wieder an diesem Projekt.

    Anfangs hatte ich dann mit einem ähnlichen Plugin gearbeitet "Simple-wc-rest-client-master", habe nun aber das von Dir direkt in mein Plugin eingebaut.

    Wie ich es inzwischen schon an anderer Stelle beschrieb habe ich jetzt aber seit ein paar Wochen Probleme, dass die Variationen nicht mehr erstellt werden. Habe nun Dein Tool eingebaut und alles andere rausgeschmissen.

    Wenn ich nun Produkte erzeugen möchte:


    klappt das hervorragend, sobald ich dann aber die Varianten dazu erzeugen möchte


    gibt es einen Syntaxerror

    Code
    [B]Fatal error[/B]:  Uncaught  Automattic\WooCommerce\HttpClient\HttpClientException: Syntax error in  /www/htdocs/XXXXX/YYYYY/shop/wp-content/plugins/mein_plugin/vendor/automattic/woocommerce/src/WooCommerce/HttpClient/HttpClient.php:346 Stack trace: #0  /www/htdocs/XXXXX/YYYYY/shop/wp-content/plugins/mein_plugin/vendor/automattic/woocommerce/src/WooCommerce/HttpClient/HttpClient.php(385):  Automattic\WooCommerce\HttpClient\HttpClient->processResponse() #1  /www/htdocs/XXXXX/YYYYY/shop/wp-content/plugins/mein_plugin/vendor/automattic/woocommerce/src/WooCommerce/Client.php(56):   Automattic\WooCommerce\HttpClient\HttpClient->request('products/208/va...',  'POST', Array) #2  /www/htdocs/XXXXX/YYYYY/shop/wp-content/plugins/mein_plugin/mein_plugin_functions.php(128):  Automattic\WooCommerce\Client->post('products/208/va...', Array) #3  /www/htdocs/XXXXX/YYYYY/shop/wp-content/plugins/mein_pl  in [B]/www/htdocs/XXXXX/YYYYY/shop/wp-content/plugins/mein_plugin/vendor/automattic/woocommerce/src/WooCommerce/HttpClient/HttpClient.php[/B] on line [B]346[/B]

    den ich mir nicht wirklich erklären kann.
    Auch wenn ich die Varianten mittels der Angaben aus der Dokumentation


    anlegen möchte, klappt es nicht. Die Fehlermeldung bleibt bestehen.

    Gibt es da evtl. eine gute Idee, wie ich da am Besten nach dem Fehler suchen kann?
    Ich bin momentan mit meinem Latein am Ende...

    LG Andi

    Moinsen allerseits,
    ich verzweifele gerade an der Umsetzung eines kleinen Tools.
    Ziel ist es per Script Artikel und Varianten in Woocommerce einzutragen.

    Ich nutze dazu die RestApi.


    Mein Problem ist nun, dass seit ein paar Wochen die Erstellung der Variationen nicht mehr funktioniert.
    Laut Api:

    Code
    $woocommerce->post('products/22/variations', $data)


    und als $data gibt es zahlreiche Optionen. Aber selbst wenn ich die Werte aus der Doku nehme


    laufe ich in einen Syntaxerror.

    Anbei die Fehlermeldung:

    PHP
    Fatal error: Uncaught Automattic\WooCommerce\HttpClient\HttpClientException: Syntax error in /www/htdocs/XXXXX/yyyyyy/shop/wp-content/plugins/mein_plugin/vendor/automattic/woocommerce/src/WooCommerce/HttpClient/HttpClient.php:340 Stack trace: #0 /www/htdocs/XXXXX/yyyyyy/shop/wp-content/plugins/mein_plugin/vendor/automattic/woocommerce/src/WooCommerce/HttpClient/HttpClient.php(379): Automattic\WooCommerce\HttpClient\HttpClient->processResponse() #1 /www/htdocs/XXXXX/yyyyyy/shop/wp-content/plugins/mein_plugin/vendor/automattic/woocommerce/src/WooCommerce/Client.php(56): Automattic\WooCommerce\HttpClient\HttpClient->request('products/138/va...', 'POST', Array) #2 /www/htdocs/XXXXX/yyyyyy/shop/wp-content/plugins/mein_plugin/mein_plugin_functions.php(149): Automattic\WooCommerce\Client->post('products/138/va...', Array) #3 /www/htdocs/XXXXX/yyyyyy/shop/wp-content/plugins/mein_plugin/mein_plugin_admin.php(214): mein_plugin_funktion in /www/htdocs/XXXXX/yyyyyy/shop/wp-content/plugins/mein_plugin/vendor/automattic/woocommerce/src/WooCommerce/HttpClient/HttpClient.php on line 340


    Hat da jemand von Euch eine Idee, wie ich das weiter untersuchen bzw. eingrenzen kann?

    LG Andi

    ok, wie gesagt, ich habe da schon etwas gefunden mit dem ich weitrerkomme.
    Viel mehr ist aber der Composer mein Problem. Ich möchte dieses Programm nur ungerne installieren da ich damit größere Probleme erwarte.
    Bzgl. Umzug etc.
    Gibt es da keine andere Option das zu umgehen?

    hüst...

    Dies ist das Original vom Hersteller => https://github.com/woocommerce/wc-api-php sogar mit Handbuch.


    ja, und trotzdem ist es für die veraltete Version Woocommerce 2.6. Ich nutze WC 3.0 und da gibt es eine neue Version der API.


    mir wäre es lieber wenn ich auf diesen Composer verzichten könnte, da ich es unglücklich finde nur für diesen Zweck das Programm versuchen zu installieren und auch Probleme haben werde wenn ich das Plugin dann auf einem anderen Webspace installiere.
    Ich möchte das Ganze gerne als abgeschlossene Version haben.
    Kann ich das nicht irgendwie einfach umwandeln?

    ... scheinbar muss ich diesen Composer dann auf dem Webspace installieren. Kann ich das irgendwie umgehen?
    Am liebsten würde ich mir nur die entsprechenden Dateien herunterladen und die in mein Pluginverzeichnis kopieren.
    Aber ich weiß nicht, wie ich an die entsprechenden Dateien herankomme :(
    Kann mir da bitte jemand helfen?

    Leider verweisen diese Links auf eine alte Version. Aber nach einigem Suchen habe ich nun im github was passendes gefunden.
    https://github.com/dominykasgel/w…import-products

    Aber ich muss da irgendetwas mit einem Composer machen.

    Kann mir mal bitte jemand erklären was das ist und wie ich das auf einem Windows-PC und Webspace ohne Konsolenzugriff benutzen kann?
    Mein Problem sind diese drei Zeilen:

    PHP
    require __DIR__ . '/vendor/autoload.php';
    
    
    use Automattic\WooCommerce\Client;
    use Automattic\WooCommerce\HttpClient\HttpClientException;

    der ganze Rest sieht klasse aus.