Ich wollte eine bestimmte Produktkategorie in der Kategorieliste auf der Woocommerce-Shopseite ausblenden. Ich habe dazu den folgenden Ausschnitt gefunden und verwendet:
add_filter( 'get_terms', 'exclude_category', 10, 3 );
function exclude_category( $terms, $taxonomies, $args ) {
$new_terms = array();
// if a product category and on a page
if ( in_array( 'product_cat', $taxonomies ) && ! is_admin() && is_shop() )
{
foreach ( $terms as $key => $term ) {
if ( ! in_array( $term->slug, array( 'books' ) ) ) {
$new_terms[] = $term;
}
}
$terms = $new_terms;
}
return $terms;
}
Ich habe eine Debug-Option in meiner wp-config auf „true“ gesetzt. Während das Snippet funktioniert und die Kategorie „Bücher“ in der Liste ausgeblendet ist, erhalte ich die folgende Fehlermeldung:
Notice:: Trying to get property of non-object in
Und es weist auf diese Zeile hin:
if ( in_array( 'product_cat', $taxonomies ) && ! is_admin() && is_shop() )
Ist diese Zeile richtig geschrieben? oder übersehe ich etwas?