Ocultar categorias específicas do widget de categoria

4

Estou tentando ocultar uma grande quantidade de categorias do widget da minha categoria. Eu tentei alguns plugins, mas nenhum deles parece querer me deixar usar a opção suspensa. Eu olhei para o hook widget_categories_args e parece ser o que eu quero, mas não consigo fazê-lo funcionar.

De qualquer forma, aqui está meu 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 );

Eu tirei isso daqui: enlace

Estou colocando isso nas funções do meu tema.php. Isso não importa, mesmo que a função esteja configurada para plugins, certo?

    
por FranticJ3 19.06.2015 / 21:37

3 respostas

6

Eu sei que este post é bem antigo, mas como me deparei com o mesmo problema e esse post foi mais alto do que um com uma solução, concluí que adicionaria isso, o que funcionou para mim.

Fonte: 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");
    
por Kevin 19.01.2017 / 18:38
0

Ocultar a categoria não categorizada / padrão no WooCommerce:

Eu acho que não sou o único que veio a esta página em busca de uma maneira de esconder a categoria padrão / não categorizada introduzida no WooCommerce 3.3.

Se você é um deles, em vez de codificar permanentemente o ID da categoria, que pode ser diferente em diferentes ambientes / instalações, você pode usar o seguinte snippet, modificado de o trecho de Mike Jolley para ocultá-lo do Woocommerce Widget de categorias de produtos:

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

Isso 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');
    
por jaripp 18.09.2018 / 17:19