Ocultar categorías específicas del widget de categoría

4

Estoy tratando de ocultar una gran cantidad de categorías de mi widget de categoría. He probado algunos complementos, pero ninguno de ellos parece querer dejarme usar la opción desplegable. Miré en el gancho widget_categories_args y eso parece ser lo que quiero pero no puedo hacerlo funcionar.

De todos modos aquí está mi código

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 );

Tomé eso de aquí: enlace

Pongo esto en las funciones de mi tema.php. Eso no debería importar aunque la función esté configurada para complementos, ¿no?

    
pregunta FranticJ3 19.06.2015 - 21:37

3 respuestas

6

Sé que esta publicación es bastante antigua, pero como me encontré con el mismo problema y esta publicación superó a una con una solución, pensé que agregaría esto, lo que funcionó para mí.

Fuente: 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");
    
respondido por el Kevin 19.01.2017 - 18:38
0

Ocultar la categoría predeterminada / no catalogada en WooCommerce:

Supongo que no soy el único que llegó a esta página en busca de una forma de ocultar la categoría predeterminada / no categorizada introducida en WooCommerce 3.3.

Si eres uno de ellos, en lugar de codificar de forma rígida el ID de categoría que puede ser diferente en diferentes entornos / instalaciones, puedes usar el siguiente fragmento de código, modificado desde el fragmento de Mike Jolley para ocultarlo del Woocommerce Widget de categorías de productos:

<?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;
}
    
respondido por el jgangso 09.07.2018 - 10:07
0

Esto funciona: 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');
    
respondido por el jaripp 18.09.2018 - 17:19

Lea otras preguntas en las etiquetas