Masquer des catégories spécifiques du widget de catégorie

4

J'essaie de cacher un grand nombre de catégories à mon widget de catégorie. J'ai essayé quelques plugins, mais aucun ne semble vouloir me laisser utiliser l'option de menu déroulant. J'ai regardé dans le hook widget_categories_args et cela semble être ce que je veux mais je ne peux pas le faire fonctionner.

En tout cas voici mon code

function widget_categories_args_filter( $cat_args ) {
$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 );

J'ai tiré ça d'ici: enlace

Je mets ceci dans le functions.php de mon thème. Cela ne devrait pas importer même si la fonction est définie pour les plugins, non?

    
posée FranticJ3 19.06.2015 - 21:37

3 réponses

6

Je sais que ce message est assez ancien, mais parce que je suis tombé sur le même problème et que ce message a dépassé celui avec une solution, je me suis dit que j'ajouterais ce message, ce qui a fonctionné pour moi.

Source: enlace

//Hide categories from WordPress category widget
function exclude_widget_categories($args){
    $exclude = "1,4,8,57,80";
    $args["exclude"] = $exclude;
    return $args;
}
add_filter("widget_categories_args","exclude_widget_categories");
    
réponse donnée Kevin 19.01.2017 - 18:38
0

Cacher la catégorie non répertoriée / par défaut dans WooCommerce:

Je suppose que je ne suis pas le seul à être venu sur cette page à la recherche d'un moyen de masquer la catégorie par défaut / non catégorisée introduite dans WooCommerce 3.3.

Si vous êtes l'un d'entre eux, au lieu de coder en dur l'ID de la catégorie, qui peut être différent dans différents environnements / installations, vous pouvez utiliser le fragment de code suivant, modifié à partir de l'extrait de Mike Jolley pour le masquer du Woocommerce Widget Catégories de produits:

<?php // Do not include this if already open!

/**
 * Code goes in theme functions.php.
 *
 * If you use dropdown instead of hierachical view, 
 * hook to the following filter instead: 
 *      '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;
}
    
réponse donnée jgangso 09.07.2018 - 10:07
0

Ceci fonctionne: enlace

<?php
function exclude_woocommerce_widget_product_categories($widget_args) {
    //Insert excluded category ids here
    $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');
    
réponse donnée jaripp 18.09.2018 - 17:19

Lire d'autres questions sur les étiquettes