サポート » 使い方全般 » get_termsがエラーになってしまう

  • shinchaya

    (@shinchaya)


    get_terms を使って子タームのリンク付き一覧を出力しようと以下のコードを書いてみましたが

    <?php
    $terms = get_terms('カスタムタクソノミー名');
    foreach ( $terms as $term ) {
    echo '<li><a href="'.get_term_link($term).'">'.$term->name.'</a></li>';
    }
    ?>
    Fatal error: Uncaught Error: Object of class WP_Error could not be converted to string in...

    になってしまいます
    以前は問題なかったように思うのですが、get_terms がおかしくなっているのでしょうか?
    WordPress 6.4.1
    PHP8 PHP7.4でも同様

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • Aki Hamano

    (@wildworks)

    こんにちは。

    エラーメッセージが示している通り、get_terms() で取得した結果がエラーになっているので、 foreach でループしようとした時に警告が表示されている状況です。

    引数 (‘カスタムタクソノミー名’ の部分) に、存在する正しいタクソノミー名を指定しているかどうかを確認してみて下さい。

    munyagu

    (@munyagu)

    こんにちは

    WP_Error could not be converted to stringなので、get_term_link($term)の結果がWP_Errorでそれを文字列結合しようとしているので、converted to stringできないエラーになっている気もします。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • このトピックに返信するにはログインが必要です。