affiliate-toolkit kann beim Import von Produkten prüfen ob dieses bereits existiert. Standardmäßig ist die Funktion deaktiviert und kann in den Einstellungen aktiviert werden.
Die Überprüfung ob das Produkt bereits existert kann man unter erweiterte Einstellungen aktivieren.
Sobald diese aktiviert ist, werden die Produkte beim anlegen geprüft:
Es werden die folgenden Kriterien geprüft:
Wichtig: Es werden nur die Daten überprüft welche übergeben werden. Wird z.b. kein Titel übergeben, wird auch nicht der Titel überprüft.
Möchte man das ganze erweitern, kann man dies mittels eigenen Hook machen.
add_filter( 'atkp_post_exists', 'atkp_post_exists_callback', 10, 7 );
/**
* @param $post_id
* @param $shopid
* @param $asin
* @param $asintype
* @param $title
* @param $brand
* @param $mpn
*
* @return int|null
*/
function atkp_post_exists_callback( $post_id, $shopid, $asin, $asintype, $title, $brand, $mpn ) {
return $post_id;
}
Da es technisch nicht möglich ist vor dem anlegen des Produktes auf die API zuzugreifen und das Produkt dort zu prüfen, muss man das Produkt vorher anlegen. Das bedeutet allerdings, das pro Produkt ein zusätzlicher Request stattfindet und dieser auch den Import bremst.
add_filter( 'atkp_post_exists', 'atkp_post_exists_callback', 20, 7 );
/**
* @param $post_id
* @param $shopid
* @param $asin
* @param $asintype
* @param $title
* @param $brand
* @param $mpn
*
* @return int|null
*/
function atkp_post_exists_callback( $post_id, $shopid, $asin, $asintype, $title, $brand, $mpn ) {
//$post_id already found
if($post_id == -1 || $post_id > 0)
return $post_id;
$shop = $shopid == '' ? null : atkp_shop::load( $shopid );
if($shop == null || $shop->provider == null)
return $post_id;
try {
$message = $shop->provider->checklogon( $shop );
} catch ( Exception $e ) {
return $post_id;
}
$atresponse = $shop->provider->retrieve_products( array($asin), strtoupper($asintype) );
if( $atresponse->errormessage != '' || count($atresponse->responseitems) == 0) {
return $post_id;
}
$product_item = $atresponse->responseitems[0]->productitem;
$post_id = apply_filters( 'atkp_post_exists', -1, $shopid, $asin, $asintype, $product_item->title, $product_item->brand, $product_item->mpn );
if($post_id <= -1)
$post_id = 0;
return $post_id;
}
Sie sehen gerade einen Platzhalterinhalt von Facebook. Um auf den eigentlichen Inhalt zuzugreifen, klicken Sie auf die Schaltfläche unten. Bitte beachten Sie, dass dabei Daten an Drittanbieter weitergegeben werden.
Mehr InformationenSie müssen den Inhalt von hCaptcha laden, um das Formular abzuschicken. Bitte beachten Sie, dass dabei Daten mit Drittanbietern ausgetauscht werden.
Mehr InformationenSie müssen den Inhalt von reCAPTCHA laden, um das Formular abzuschicken. Bitte beachten Sie, dass dabei Daten mit Drittanbietern ausgetauscht werden.
Mehr InformationenSie müssen den Inhalt von reCAPTCHA laden, um das Formular abzuschicken. Bitte beachten Sie, dass dabei Daten mit Drittanbietern ausgetauscht werden.
Mehr InformationenSie müssen den Inhalt von reCAPTCHA laden, um das Formular abzuschicken. Bitte beachten Sie, dass dabei Daten mit Drittanbietern ausgetauscht werden.
Mehr InformationenSie müssen den Inhalt von Turnstile laden, um das Formular abzuschicken. Bitte beachten Sie, dass dabei Daten mit Drittanbietern ausgetauscht werden.
Mehr InformationenSie sehen gerade einen Platzhalterinhalt von Instagram. Um auf den eigentlichen Inhalt zuzugreifen, klicken Sie auf die Schaltfläche unten. Bitte beachten Sie, dass dabei Daten an Drittanbieter weitergegeben werden.
Mehr InformationenSie sehen gerade einen Platzhalterinhalt von X. Um auf den eigentlichen Inhalt zuzugreifen, klicken Sie auf die Schaltfläche unten. Bitte beachten Sie, dass dabei Daten an Drittanbieter weitergegeben werden.
Mehr Informationen