Soms is het nodig om de items in de product category list van Woocommerce aan te passen. Importeer dan deze code in een section, vlak voor een Categories List element (Oxygen > Woocommerce > Categories List). Het creëert een code block dat gebruik maakt van de hook 'woocommerce_product_categories'. Met behulp van de get_terms functie wordt bepaald welke product categoriën getoond worden. De betreffende array voor de selected_ids kan natuurlijk ook bepaald worden door een functie of acf field (get_field). De terms kunnen aangevuld worden. Let op dat de Categories List werkt met een lege custom query. Het filter werkt namelijk alleen als er een nieuwe query wordt gedaan. Het filter heeft geen invloed meer 'in the loop'.
<?php
function fwp_filter_categories_list($args) {
$selected_ids = array(1,2,3); // this can be any array or function like ACF get_fields()
$args = get_terms( array(
'taxonomy' => 'product_cat',
'include' => $selected_ids,
// add your own terms
)) ;
return $args;
}
add_filter('woocommerce_product_categories', 'fwp_filter_categories_list', 99 );
?>
{"component":{"id":19,"name":"ct_code_block","options":{"ct_id":19,"ct_parent":5,"selector":"code_block-19-5816","original":{"image_type":"2","attachment_size":"full","code-php":"<?php\nfunction fwp_filter_categories_list($args) {\n$selected_ids = array(1,2,3); // this can be any array or function\n$args = get_terms( array(\n 'taxonomy' => 'product_cat',\n 'include' => $selected_ids, \n// add your own terms\n)) ;\n\nreturn $args;\n}\nadd_filter('woocommerce_product_categories', 'fwp_filter_categories_list', 99 );\n?>"},"nicename":"Code Block (#19)","activeselector":false},"depth":3},"classes":{}}