Fatal error: Uncaught TypeError: call_user_func_array()エラーの解消法

エラーメッセージ全文

Fatal error: Uncaught TypeError: call_user_func_array(): Argument #1 ($callback) must be a valid callback, function “mytheme_enqueue” not found or invalid function name in /ファイルパス/wp-includes/class-wp-hook.php:310 Stack trace: #0 /ファイルパス/wp-includes/class-wp-hook.php(334): WP_Hook->apply_filters(NULL, Array) #1 /ファイルパス/wp-includes/plugin.php(517): WP_Hook->do_action(Array) #2 /ファイルパス/wp-includes/script-loader.php(2225): do_action(‘wp_enqueue_scri…’) #3 /ファイルパス/wp-includes/class-wp-hook.php(310): wp_enqueue_scripts(”) #4 /ファイルパス/wp-includes/class-wp-hook.php(334): WP_Hook->apply_filters(NULL, Array) #5 /ファイルパス/wp-includes/plugin.php(517): WP_Hook->do_action(Array) #6 /ファイルパス/wp-includes/general-template.php(3053): do_action(‘wp_head’) #7 /ファイルパス/wp-content/themes/テーマ名/header.php(14): wp_head() #8 /ファイルパス/wp-includes/template.php(785): require_once(‘/home/users/1/u…’) #9 /ファイルパス/wp-includes/template.php(720): load_template(‘/home/users/1/u…’, true, Array) #10 /ファイルパス/wp-includes/general-template.php(48): locate_template(Array, true, true, Array) #11 /ファイルパス/wp-content/themes/テーマ名/top.php(1): get_header() #12 /ファイルパス/wp-includes/template-loader.php(106): include(‘/home/users/1/u…’) #13 /ファイルパス/wp-blog-header.php(19): require_once(‘/home/users/1/u…’) #14 /ファイルパス/index.php(17): require(‘/home/users/1/u…’) #15 {main} thrown in /ファイルパス/wp-includes/class-wp-hook.php on line 310
PR

エラーメッセージの意味

エラーの文章は長いですが、関数名と引数名が一致していないという意味です。

エラー該当コード

WordPressのfunctions.phpなどで下記のようなコードがあるとします。

function my_script() {
    if (is_single(9999)) {
        wp_enqueue_script('ハンドル名', 'ソース', array(), null, true);
    }
}
add_action('wp_enqueue_scripts', 'me_script');

エラーが発生した原因

関数名「my_script」とadd_actionの第2引数が一致していないため発生しています。

一致させればエラーが直ります。

他のPHPエラーの記事

他のPHPエラー

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

>お問い合わせはこちら

お問い合わせはこちら