Fatal error: Uncaught ArgumentCountError: Too few arguments to functionエラーの発生原因と対処した方法

エラーメッセージの意味

関数の引数が不足しているという意味のエラーです。Fatal Errorなのでプログラムの実行が停止されます。

エラー該当コード

$terms = get_the_terms('taxonomy'); //'taxonomy'だけでは引数が不足。

エラーが発生した原因

上記のエラー該当コードは「投稿id」が抜けていたためFatal Errorが発生し、プログラムの実行が停止されました。

get_the_terms関数について

get_the_terms($post_id, 'taxonomy_name');

get_the_terms関数は「投稿id」と「タクソノミー名」を引数に指定する必要があります。

get_terms関数の使用例

カスタム投稿タイプの記事一覧でカテゴリー名を表示するために使用します。ループ内で使用することを想定しています。

$terms = get_the_terms(get_the_ID(), 'taxonomy');
if($terms) {
    echo '<div class="cat__list">';
    foreach ($terms as $term) {
        echo '<span class="cat__name">' . $term->name . '</span>';
    }
    echo '</div>';
}

まとめ

Fatal error: Uncaught ArgumentCountError: Too few arguments to functionエラーの発生原因と対処した方法について記事にしました。

原因はget_the_termsの引数が足りていないことでした。

また、get_the_termsを使用してカスタム投稿タイプの記事一覧ページでカテゴリー名を表示することもできるのでこちらも紹介させていただきました。

他のPHPエラーの記事

他のPHPエラー

PHPのエラーの種類について解説しています。具体例や解決方法については順次更新していきます。

>お問い合わせはこちら

お問い合わせはこちら