Ascunde categorii specifice din widget-ul de categorii
Încerc să ascund un număr mare de categorii din widget-ul meu de categorii. Am încercat câteva plugin-uri dar niciunul nu pare să-mi permită să folosesc opțiunea dropdown. M-am uitat la hook-ul widget_categories_args și pare să fie ceea ce vreau, dar nu reușesc să-l fac să funcționeze.
Iată codul meu
function widget_categories_args_filter( $cat_args ) {
// Array cu ID-urile categoriilor care trebuie excluse
$exclude_arr = array( 57,61,63,56,55,62,52,53,54,67,65 );
if( isset( $cat_args['exclude'] ) && !empty( $cat_args['exclude'] ) )
$exclude_arr = array_unique( array_merge( explode( ',', $cat_args['exclude'] ), $exclude_arr ) );
$cat_args['exclude'] = implode( ',', $exclude_arr );
return $cat_args;
}
add_filter( 'widget_categories_args', 'widget_categories_args_filter', 10, 1 );
Am luat codul de aici: https://codex.wordpress.org/Plugin_API/Filter_Reference/widget_categories_args
Pun acest cod în functions.php al temei mele. Nu ar trebui să conteze acest lucru chiar dacă funcția este setată pentru plugin-uri, corect?
Știu că acest articol este destul de vechi, dar pentru că am dat peste aceeași problemă și acest articol a apărut mai sus decât unul cu o soluție, am considerat că ar fi bine să adaug acest cod, care a funcționat pentru mine.
Sursa: http://coffeecupweb.com/how-to-exclude-or-hide-categories-from-category-widget-in-wordpress-sidebar/
//Ascunde categorii din widget-ul de categorii WordPress
function exclude_widget_categories($args){
$exclude = "1,4,8,57,80";
$args["exclude"] = $exclude;
return $args;
}
add_filter("widget_categories_args","exclude_widget_categories");

Pot confirma că funcționează excelent în martie 2018! Sfat bonus: treceți cursorul peste o categorie pe pagina de Categorii și căutați "tag_id" în linkul de la partea de jos a browserului. Da, știu că scrie tag_id, dar se referă totuși la categorie.

Aceasta funcționează: https://gist.github.com/peltopiri/76e7d1143e33b424633114103cfae5ec
<?php
function exclude_woocommerce_widget_product_categories($widget_args) {
//Introduceți aici ID-urile categoriilor excluse
$excludes = array(12,33);
$includes = explode(",",$widget_args['include']);
$includes = array_filter($includes, function($value) use ($excludes) {
return !in_array($value, $excludes);
});
$widget_args["include"] = implode(",", $includes);
return $widget_args;
}
add_filter( 'woocommerce_product_categories_widget_dropdown_args', 'exclude_woocommerce_widget_product_categories');
add_filter( 'woocommerce_product_categories_widget_args', 'exclude_woocommerce_widget_product_categories');

Ascundeți categoria implicită / necategorizată în WooCommerce:
Cred că nu sunt singurul care a ajuns pe această pagină în căutarea unei modalități de a ascunde categoria implicită / necategorizată introdusă în WooCommerce 3.3.
Dacă sunteți unul dintre ei, în loc să hard-codați ID-ul categoriei care poate fi diferit în diferite medii / instalări, puteți folosi următorul fragment de cod, modificat din fragmentul lui Mike Jolley pentru a o ascunde din widget-ul Categorii de Produse WooCommerce:
<?php // Nu includeți acest lucru dacă este deja deschis!
/**
* Codul se adaugă în fișierul functions.php al temei.
*
* Dacă utilizați vizualizarea dropdown în loc de cea ierarhică,
* conectați-vă la următorul filtru în schimb:
* `woocommerce_product_categories_widget_dropdown_args`
*/
add_filter( 'woocommerce_product_categories_widget_args', 'custom_woocommerce_product_categories_widget_args' );
function custom_woocommerce_product_categories_widget_args( $args ) {
$args['exclude'] = get_option( 'default_product_cat' );
return $args;
}

După mai multe căutări și teste, ascunderea categoriilor de articole pentru elementele din listă și meniurile drop-down se face separat, deoarece acestea sunt apelate prin ID-uri diferite de filtre.
Pentru elementele de categorie din listă, utilizați
add_filter("widget_categories_args","FUNCTIA_TA_CUSTOM");
Pentru elementele de categorie din meniurile drop-down, utilizați
add_filter("widget_categories_dropdown_args","FUNCTIA_TA_CUSTOM");
Referință: https://basicwp.com/exclude-categories-from-category-widgets-in-wordpress/
