Przyczyna jest taka, że z get_the_terms() nie dostajesz tego, czego oczekujesz …a nie dostajesz bo np. wywołujesz ten kod nie we wpisie albo we wpisie bez taksonomii meal-type.
Na samym początku powinieneś sobie sprawdzić czy to wpis np:
if( !is_single() ) return;
albo chociaż czy istnieje ID:
if( !isset( $post->ID ) return;
Potem po wywołaniu get_the_terms() powinieneś sprawdzić, czy nie zwróciło przypadkiem błędu:
if ( is_wp_error( $recipe_cats ) ) return;
W innym wypadku kod poleci sobie dalej, pomimo tego że w $recipe_cats będzie obiekt błędu, zamiast tablicy z termami i dostaniesz wysyp ostrzeżeń spowodowanych nieoczekiwanymi wartościami jak powyżej.
ps. te wszystkie echo powyżej 229 linijki zebrał bym w grupę i dał poniżej tych deklaracji zmiennych.
Bo głupio tak zawczasu wypluwać coś na ekran, gdy potem może wystąpić błąd na $recipe_cats i trzeba zakończyć funkcję 😉
Thread Starter
str888
(@str888)
Dzięki, faktycznie nie przypisałem w kokpicie typu posiłku do wpisu. Choć dobrze by było jakby pomijało to jeśli nie jest przypisany a nie wywalało błąd 😛
Choć dobrze by było jakby pomijało to jeśli nie jest przypisany a nie wywalało błąd
Toć własnie powyżej masz zabezpieczenia, by kończyło funkcję, a nie sypało błędami.