it-swarm.com.de

Warnung: In portfolio-list.php wurde ein ungültiges Argument für foreach () angegeben

Ich habe Probleme mit meinem WordPress-Theme.

Ich erhalte die folgende Fehlermeldung, nachdem ich ein ausgewähltes Bild in meine Portfolioelemente hochgeladen habe:

Warnung: Ungültiges Argument für foreach () in /home2/maryhtran/public_html/wp-content/themes/Motive/portfolio-list.php in Zeile 150

Dies ist der Code, der den in portfolio-list.php gefundenen Fehler verursacht:

// Get the terms( categories ) for the portfolio item
$terms = get_the_terms( $post_item->ID, 'portfolio_categories' );

foreach( $terms as $term ) {
// some code here
}

Könnte mir bitte jemand helfen, zu verstehen, warum dies geschieht und wie ich diesen Fehler beheben kann?

1
Mary

Es passiert, wenn die foreach() mit einem ungültigen Eintrag gefüttert wird, weil kein Begriff zurückgegeben wird. Um dies zu verhindern, wickeln Sie Ihre Schleife in eine Bedingung:

// Get the terms( categories ) for the portfolio item
$terms = get_the_terms( $post_item->ID, 'portfolio_categories' );
if(is_array($terms) || is_object($terms)){
    foreach( $terms as $term ) {
    // some code here
    }
}

Jetzt wird die Schleife nur ausgeführt, wenn der Beitrag einige Begriffe enthält.

1
Jack Johansson

Der Fehler ist in Ihrem Thema. Wenden Sie sich an die Mitarbeiter des Themen-Supports. Das ist der richtige Ort, um themenbezogene Fragen zu stellen.

(Der Fehler sieht jedoch so aus, als ob die Funktion get_the_terms() kein Array zurückgibt, sodass die Variable foreach nicht funktioniert.)

Das muss vom Autor des Themas festgelegt werden.

0
Rick Hellewell

Es wird ein wenig schwer vorherzusagen sein, aber hier sind einige Optionen, die Sie ausprobieren könnten:

  1. Versuchen Sie, die Beitrags-ID auszugeben, um festzustellen, ob sie tatsächlich ausgefüllt wird.
  2. Überprüfen Sie, ob "portfolio_categories" der genaue Name Ihrer Taxonomie ist. Sie können den Mauszeiger über den Link im Admin-Bereich bewegen und in der URL nach "taxonomy = [some_name]" suchen.

Überprüfen Sie diese Dinge und sehen Sie, was Sie finden können.

0
Sid