it-swarm.com.de

Bestimmte Kategorien im Kategorie-Widget ausblenden

Ich versuche, eine große Anzahl von Kategorien in meinem Kategorie-Widget auszublenden. Ich habe einige Plugins ausprobiert, aber anscheinend möchte keiner von ihnen, dass ich die Dropdown-Option verwende. Ich habe in den widget_categories_args-Hook geschaut und das scheint das zu sein, was ich will, aber ich kann es nicht zum Laufen bringen.

Sowieso ist hier mein 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 );

Das habe ich von hier übernommen: https://codex.wordpress.org/Plugin_API/Filter_Reference/widget_categories_args

Ich füge dies in die functions.php meines Themas ein. Das sollte doch egal sein, obwohl die Funktion für Plugins eingestellt ist, oder?

5
FranticJ3

Ich weiß, dass dieser Beitrag ziemlich alt ist, aber da ich auf dasselbe Problem gestoßen bin und dieser Beitrag höher lag als einer mit einer Lösung, dachte ich, ich würde dies hinzufügen, was für mich funktioniert.

Quelle: http://coffeecupweb.com/wie-aus-schließen-oder-ausblenden-von-der-kategorie-widget-in-wordpress-sidebar/

//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");
6
Kevin

Nach mehreren Suchen und Tests werden die Post-Kategorien für Listenelemente und Dropdown-Listenelemente separat ausgeblendet, da sie von verschiedenen Filter-IDs aufgerufen werden.

Verwenden Sie für Listenkategorieelemente

add_filter("widget_categories_args","YOUR_CUSTOM_FUNCTION");

Verwenden Sie für Dropdown-Kategorie-Elemente

add_filter("widget_categories_dropdown_args","YOUR_CUSTOM_FUNCTION");

Referenz: https://basicwp.com/exclude-categories-from-category-widgets-in-wordpress/

0
kpatrickos

Blenden Sie die Kategorie "Nicht katekogrisiert"/"Standard" in WooCommerce aus:

Ich bin wohl nicht der Einzige, der auf diese Seite gekommen ist, um nach einer Möglichkeit zu suchen, die in WooCommerce 3.3 eingeführte Standardkategorie/nicht kategorisierte Kategorie zu verbergen.

Wenn Sie einer von ihnen sind, können Sie, anstatt die Kategorie-ID, die in verschiedenen Umgebungen/Installationen unterschiedlich sein kann, fest zu codieren, das folgende Snippet verwenden, das von dem Snippet von Mike Jolley modifiziert wurde, um es vor dem Woocommerce zu verbergen Widget für Produktkategorien:

<?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;
}
0
jgangso

Dies funktioniert: https://Gist.github.com/peltopiri/76e7d1143e33b424633114103cfae5ec

<?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');
0
jaripp