Generic selectors
Nur exakte Treffer
Suche im Titel
Suche im Inhalt
Post Type Selectors
Inhaltsverzeichnis anzeigen

Duplikatsprüfung für Produkte

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.

Prüfung aktivieren

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:

  • AAWP Import
  • ASA 1 und ASA 2 Import
  • Import über den Shortcode
  • Import über Massenimport-Tools
  • Import über Produktimport

Es werden die folgenden Kriterien geprüft:

  • MPN mit Marke
  • ASIN
  • EAN
  • Titel

Wichtig: Es werden nur die Daten überprüft welche übergeben werden. Wird z.b. kein Titel übergeben, wird auch nicht der Titel überprüft.

Eigenen Hook

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;
}

Existenz mittels API-Abfrage prüfen

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;
}
Aktualisiert: 11. März 2023
Sie verwenden affiliate-toolkit noch nicht?
Die Einrichtung dauert weniger als 5 Minuten und schon können Sie die ersten Produkte importieren!
Erfahren Sie mehr über die PaketeKostenlose Version herunterladen
Brauchen Sie noch Hilfe?
Ihre Frage einreichen
Bitte geben Sie uns die Details, unser Support-Team wird sich mit Ihnen in Verbindung setzen.
linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram