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.
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.