wake-up-neo.net

Nicht kategorisierte Produkte auf der Shop-Seite ausblenden

Bei der Aktualisierung von WooCoomerce auf Version 3.3 wurde die Produktkategorie "Nicht kategorisiert" hinzugefügt und dann auf allen Seiten (einschließlich der WooCommerce-Shopseite) angezeigt, auf denen Produkte angezeigt wurden, wenn Produkte mit vorhanden sind. Alle Produkte, denen nicht mindestens eine Kategorie zugewiesen wurde, werden dann (logischerweise) der Kategorie "nicht kategorisiert" zugewiesen.

Ich habe immer den (möglicherweise nicht idealen) Ansatz verwendet, saisonale Produkte auszublenden, indem alle Kategorien aus diesen Produkten entfernt wurden, wenn sie außerhalb der Saison waren. Diese neue Änderung bedeutete, dass diese "versteckten" Produkte plötzlich auf der Website zum Verkauf in dieser neuen Kategorie erschienen, die ich auf keiner Seite sehen möchte.

Ich habe im Internet nach einer Möglichkeit gesucht, die Produktkategorie "Nicht kategorisiert" auszublenden, und festgestellt, dass dieses Problem weit verbreitet ist. Es wurde eine Reihe von Lösungen vorgeschlagen, unter anderem, die Kategorie "nicht kategorisiert" zu einer Unterkategorie zu machen und dann alle Unterkategorien oder Kategorien mithilfe von CSS auszublenden.

Siehe https://wordpress.org/support/topic/uncategorized-product-category-still-showing-after-3-3-1/

Keine dieser Lösungen ist jedoch "sauber" oder robust genug.

Mein Workaround bestand darin, nur die Produkte anzuzeigen, die ich mithilfe des Produktkategorien-Shortcodes (ohne die nicht kategorisierte Kategorie-ID) sichtbar machen möchte. Zum Beispiel:

[product_categories ids="11, 19, 18, 14, 7, 8, 9, 10, 15, 98, 16, 17"]

dies löst jedoch nicht das Problem auf der Shop-Seite (die keine Shortcodes verwendet).

Ich frage mich, ob jemand eine solide Methode zum Ausblenden der Produktkategorie "Nicht kategorisiert" hat, da dies ein aktuelles Thema ist, das derzeit weit verbreitet zu sein scheint.

1
WPDavid

Ich habe dieses Problem auf der Grundlage des von rynoldos zur Verfügung gestellten Codes ( https://Gist.github.com/rynaldos/a9d357b1e3791afd9bea48833ff95994 ) wie folgt gelöst:

Fügen Sie den folgenden Code in Ihre functions.php-Datei ein:

/** Remove categories from shop and other pages
 * in Woocommerce
 */
function wc_hide_selected_terms( $terms, $taxonomies, $args ) {
    $new_terms = array();
    if ( in_array( 'product_cat', $taxonomies ) && !is_admin() && is_shop() ) {
        foreach ( $terms as $key => $term ) {
              if ( ! in_array( $term->slug, array( 'uncategorized' ) ) ) {
                $new_terms[] = $term;
              }
        }
        $terms = $new_terms;
    }
    return $terms;
}
add_filter( 'get_terms', 'wc_hide_selected_terms', 10, 3 );

Dieser Code gilt für die Shop-Seite von WooCommerce. Wenn Sie dies auf eine andere Seite anwenden möchten, ersetzen Sie is_shop () durch is_page ('YOUR_PAGE_SLUG').

Auch ich hatte Probleme, eine Lösung für dieses Problem zu finden, aber der obige Code funktioniert gut für mich.

1
Clinton

Ich habe eine einfache Möglichkeit gefunden, die nicht kategorisierte Kategorie auf der Shop-Seite auszublenden: Ich habe die übergeordnete Kategorie "Keine" durch eine andere Kategorie geändert, die ich habe.

Ich hoffe es hilft :-)

Marianne

1
Marianne