2017-11-21 2 views
0

Ich habe einen Woocommerce Store, der einen benutzerdefinierten Uploader verwendet, um Produkte von ChannelGrabber zu ziehen und sie mit einem größeren Detail an Woocommerce zu pushen CG. Ein Teil der Anfrage Kunden war jede Farbe als separate varation zu haben scheinen und als solche i installiert ein Plugin "Show Single Variations".WooCommerce - Auswählen von "Single-Product-Variations" Plugin Selektoren mit REST API

Vom Rest API genannt, ich konnte richtig die Varianten erstellen und verwenden Sie die Meta-Taste _jck_wssv_display_title mit der Titel, den ich wollte. Das war perfekt. Leider benutze ich die gleiche Logik, wenn ich versuche, _jck_wssv_variable_show_search als Metaschlüssel zu verwenden, ich bin nicht in der Lage, das Kontrollkästchen aktiviert zu haben. Ich habe versucht, den Wert auf 1 zu setzen, wahr, ja ... alles, was ich mir vorstellen konnte.

Ich bin 99% sicher, dass dies die richtige Verwendung dafür ist.

[ 
'key' => '_jck_wssv_variable_show_search', 
'value' => true 
], 
[ 
'key' => '_jck_wssv_display_title', 
'value' => $varMetaTitle 
] 

Hat jemand schon einmal Glück mit der REST-API und den Plugins gehabt? Bin ich nur albern und benutze den falschen Schlüssel?

Auch nachdem ich die Variante erstellt habe, habe ich versucht, es mit einer put Anweisung zu aktualisieren, aber die Variante selbst endete gerade als ein Waisenkind.

Jede Hilfe wird geschätzt. Edit: Ich sprach mit dem Autor des Plugins für eine Zeit und es scheint alles zu aktualisieren, aber der Titel ist nicht so einfach wie ein Meta. Es gibt mehr als das. Ich kämpfe jedoch darum, wo ich hinwollte. Er erwähnte das Rufen einer "Setter" -Methode. Obwohl ich nicht sicher bin, wo ich hinschauen soll.

Antwort

0

Okay, das brauchte ein bisschen Brain Power um durchzukommen. Zuerst werden Sie eine PHP-Datei irgendwo im Wordpress-Verzeichnis erstellen wollen.

Die Grundvoraussetzung ist, diese Datei mit den benötigten Informationen CURL.

Die Datei i erstellt war ungefähr so:

<?php 

if(!empty($_POST['id']) && !empty($_POST['check'])){ 

    $varID = $_POST['id'] 
    //take the id that will be sent in the curl request. 

    require_once($_SERVER['DOCUMENT_ROOT'] . '/wp-load.php'); 
    //tell wordpress we need it to load, so we can reach the plugins. 

    Iconic_WSSV_Product_Variation::set_visibility($varID, array("search", "catalog", "filtered")); 
    //this calls the function set_visibility from the plugin. 
    //it turns on the checkboxes i require for my variations 
} 
?> 

Sobald die Datei eingerichtet wurde, ich zu meinem Skript ging und während der Schleife für die Varianten i hinzugefügt:

$ch = curl_init(); 
//initialise curl 

$stringToCurl = "id=" . $getVar['id'] . "&check=yes"; 
//create string including id for this variant. 
//i have an extra conditional for security here 

curl_setopt($ch, CURLOPT_POSTFIELDS, $stringToCurl); 
//set the curl options up 

curl_setopt($ch, CURLOPT_URL, "https://www.example.co.uk/my_file.php"); 
//set the url to the path of the file 

curl_exec($ch); 
//execute the curl 

Während Es ist nicht die eleganteste Lösung, ich denke, es hat meinen Zwecken gut gedient. Ich hoffe, es hilft jemand anderen später auf der ganzen Linie.

Verwandte Themen