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

Frage / Problem

Hallo,

ich würde gerne die Listen um die Produktkategorien erweitern. Alle Produkte welche über die Liste angelegt werden, sollen anschließend diese Produktkategorie zugewiesen bekommen.

 

Antwort / Lösung

Um das zu realisieren, müssen wir auf zwei Hooks von affiliate-toolkit zugreifen.

Mit diesem code wird die Produktkategorie der Liste zugewiesen. Eventuell muss "productcategory" durch den eigenen namen ersetzt werden.

function atkp_list_register_post_type_list($args) {

	$args['taxonomies'] = array('productcategory');

	return $args;
}

add_filter('atkp_list_register_post_type', 'atkp_list_register_post_type_list', 10, 1);

Nun kann man der Liste die Kategorien zuweisen.

Jetzt müssen wir nur noch die Produktkategorien von der Liste zum Produkt kopieren. Das schaffen wir mit dem folgenden Hook:

function atkp_product_autoimport_list($product_list, $list_id) {
	
	foreach($product_list as $product_item) {
		$type = $product_item['type'];
		
		if($type == 'productid') {
			$product_id = $product_item['value'];		
			
			// get an array with the term_ids only
           $term_ids = array();
           $term_objs = get_the_terms( $list_id, 'productcategory' );

           // get_the_terms returns an array of WP_Term objects
           foreach ($term_objs as $term_obj)
               $term_ids[] = $term_obj->term_id; // get the id from the WP_Term object

			if ( count($term_ids) > 0 ){
				wp_set_post_terms($product_id, $term_ids, 'productcategory', false);
			}	
		}
	}	
}

add_action('atkp_product_autoimport', 'atkp_product_autoimport_list', 10, 2);

Auch hier muss eventuell der "productcategory"-Name durch den eigenen ersetzt werden.

Aktualisiert: 19. Februar 2023
Verwenden Sie 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