Verbergen Sie bestimmte Kategorien im Kategorie-Widget


8

Ich versuche, eine große Anzahl von Kategorien aus meinem Kategorie-Widget auszublenden. Ich habe ein paar Plugins ausprobiert, aber keines von ihnen scheint mich die Dropdown-Option verwenden zu lassen. Ich habe in den Hook widget_categories_args 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 );

Ich habe das 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 keine Rolle spielen, obwohl die Funktion für Plugins eingestellt ist, oder?


Versuchen Sie, die vierte Zahl auf einen hohen
Wert

Dies funktioniert bei mir für das gebündelte Kategorie-Widget.
s_ha_dum

@s_ha_dum die vierte Nummer? In der Zeile add_filter ()?
FranticJ3

Entschuldigung, das vierte Argument. Du hast 1. Versuchen Sie es 1000. Wie gesagt, dies funktioniert bei mir, sodass möglicherweise eine andere Funktion stört. Wenn Sie die Priorität hoch setzen, erhalten Sie möglicherweise das letzte Wort. Verwenden Sie das Widget "Kernkategorie"?
s_ha_dum

@s_ha_dum Ja, ich verwende das Widget für Kernkategorien. Ich habe es auf 10000 eingestellt und es versteckt sie immer noch nicht.
FranticJ3

Antworten:


8

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

Quelle: http://coffeecupweb.com/how-to-exclude-or-hide-categories-from-category-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");

1
Ich kann bestätigen, dass dies im März 2018 hervorragend funktioniert! Bonus-Tipp: Bewegen Sie den Mauszeiger über eine Kategorie auf der Seite "Kategorien" und suchen Sie nach der "tag_id" im Link unten in Ihrem Browser. Ja, ich weiß, dass dort tag_id steht, aber es bezieht sich immer noch auf die Kategorie.
Eric Hepperle - CodeSlayer2010

1

Blenden Sie die Kategorie "Uncatecogrized / default" in WooCommerce aus:

Ich glaube, ich bin nicht der einzige, der auf dieser Seite nach einer Möglichkeit gesucht hat, die in WooCommerce 3.3 eingeführte Standardkategorie / nicht kategorisierte Kategorie auszublenden .

Wenn Sie einer von ihnen sind, können Sie anstelle der harten Codierung der Kategorie-ID, die in verschiedenen Umgebungen / Installationen unterschiedlich sein kann, das folgende Snippet verwenden, das von Mike Jolley aus dem Snippet modifiziert wurde , um es vor dem Widget "Woocommerce-Produktkategorien" auszublenden:

<?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

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

Nach mehreren Suchen und Tests wird das Ausblenden von Beitragskategorien für Listenelemente und Dropdown-Listen separat durchgeführt, 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-Kategorieelemente

add_filter("widget_categories_dropdown_args","YOUR_CUSTOM_FUNCTION");

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


0

Ich konnte eine einzelne Kategorie mit CSS ausblenden:

li.cat-item-1 {
    display: none;
}

Ich habe dieses CSS-Snippet in das "Zusätzliche CSS" meines Themas eingefügt.

Kategorie 1 ist "Nicht kategorisiert", die ich ausblenden wollte.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.