質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

1回答

13616閲覧

class-wp-hook.php についてのエラーが突然出るようになって困っています。

Euri_K

総合スコア32

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2019/03/06 12:16

前提・実現したいこと

Wordpressでいくつかのページに表示されるようになったエラーを出ないようにしたい

発生している問題・エラーメッセージ

Wordpressのコンテンツをall-in-one WP Mygrationでインポートしたところ、

Warning: call_user_func_array() expects parameter 1 to be a valid callback, function 'my_delete_local_jquery' not found or invalid function name in (サイトのパス)wp-includes/class-wp-hook.php on line 286

というエラーがページの中に表示されるようになりました。
このコンテンツ自体は何度も他の場所でインポートをした経験があるのですが、
このようなエラーは今回がはじめてのことで、なおかつテーマファイルが業者によるオリジナルのため
全く詳細が不明な状態です。

該当のソースコード

do { $this->current_priority[ $nesting_level ] = $priority = current( $this->iterations[ $nesting_level ] ); foreach ( $this->callbacks[ $priority ] as $the_ ) { if( ! $this->doing_action ) { $args[ 0 ] = $value; } // Avoid the array_slice if possible. if ( $the_['accepted_args'] == 0 ) { $value = call_user_func_array( $the_['function'], array() ); } elseif ( $the_['accepted_args'] >= $num_args ) { $value = call_user_func_array( $the_['function'], $args ); } else { $value = call_user_func_array( $the_['function'], array_slice( $args, 0, (int)$the_['accepted_args'] ) ); } } } while ( false !== next( $this->iterations[ $nesting_level ] ) );

エラーの示す行数は
$value = call_user_func_array( $the_['function'], $args ); が該当部分です。

試したこと

プラグインの停止、最新のバージョンへの更新、
サーバー自体のphpのバージョンを5.6~7.2までひととおり変更を試してみましたが効果はありませんでした。
コンテンツがもともとあったサーバーはphp7.2を使っていました。

補足情報(FW/ツールのバージョンなど)

コンテンツに利用しているテーマファイルは完全なオリジナルテーマのようです。
WP4.7以降で言語周りの取り回しが変わったという記述を見たのですが、
あいにくphpが不得手で何を探すべきか、見つけたらどう直すべきかわかりません。

すみませんが、どなたかご教授をお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

実際にエラーが出てる原因はテーマのfunctions.php辺りなのでその情報を書いたほうがいい。

my_delete_local_jqueryからやってることは分かるけど
こんなことやってる時点で毎度の初心者業者か…。
オリジナルテーマでは実物を見ないとどうしようもない。

投稿2019/03/06 12:28

kawax

総合スコア10377

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2019/03/06 12:35

中学程度の英語力で理解可能なエラー文も読まずphpが不得手とか草 新垢作って質問繰り返すのを見てると呆れる
Euri_K

2019/03/06 12:44

functions.phpの中身はこのようになっています。 怪しいとしたらどのあたりになりますでしょうか? 名称的に冒頭のやつでしょうか。 <?php add_action( 'wp_enqueue_scripts', 'my_delete_local_jquery' ); // 親ページスラッグの取得 function get_parent_slug(){ if(is_page()){ global $post; if( $post->ancestors ){ $root = $post->ancestors[count( $post->ancestors ) - 1]; $root_post = get_post( $root ); $body_id = esc_attr( $root_post->post_name ); } else { $body_id = esc_attr( $post->post_name ); } echo $body_id; } } add_filter( 'wpcf7_validate_email', 'wpcf7_text_validation_filter_extend', 11, 2 ); add_filter( 'wpcf7_validate_email*', 'wpcf7_text_validation_filter_extend', 11, 2 ); function wpcf7_text_validation_filter_extend( $result, $tag ) { global $my_email_confirm; $tag = new WPCF7_Shortcode( $tag ); $name = $tag->name; $value = isset( $_POST[$name] ) ? trim( wp_unslash( strtr( (string) $_POST[$name], "\n", " " ) ) ) : ''; //ひとつ目のメールアドレス項目の名称(ここでは'your-email')を$nameに代入。 if ($name == "your-email"){ $my_email_confirm=$value; } //ふたつ目のメールアドレス項目の名称(ここでは'your-email_confirm')を$nameに代入。 if ($name == "your-email_confirm" && $my_email_confirm != $value){ $result->invalidate( $tag,"確認用のメールアドレスが一致していません"); } return $result; }
Euri_K

2019/03/06 12:47

そもそも初めてこちらのサイトを利用しております。不勉強な点は反省しておりますが、根本的に命令語やそれに付随する挙動などをほとんど理解していないので、割と本気で困っております。
退会済みユーザー

退会済みユーザー

2019/03/06 13:11

>名称的に冒頭のやつでしょうか。 質問する前にそう思ったならばコメントアウトしてどうなるか試すだろ普通
Euri_K

2019/03/06 13:21

それが普通なのですか。それでページが真っ白になっても困るので試してなかったのですが、触ってしまっていいやつなんでしょうか?そういうレベルでわからないのです。
退会済みユーザー

退会済みユーザー

2019/03/06 13:25

真っ白になったら元に戻すだけ
Euri_K

2019/03/06 13:34

コメントアウトするとエラーメッセージは消えるようです。幸い真っ白にもなりませんでした。ありがとうございます。 ただ、制作した方がなぜこれを書く必要があったのかが不明なので、別の怖さはあります。一般的にこの記述は何の用途で書かれるのでしょうか。
退会済みユーザー

退会済みユーザー

2019/03/06 13:44

テーマの他の部分に定義されてなければ問題なし 多分こうなってたはず ------------------------ function my_delete_local_jquery(){ 何か書いてあった? } add_action( 'wp_enqueue_scripts', 'my_delete_local_jquery' ); ------------------------ 用途や必要性はコードの中身が分からないので制作した方に訊くべし
Euri_K

2019/03/06 13:59

わかりました。上記部分を探しつつ、他のテーマも確認してみます。初歩的な話題に付き合っていただき、ありがとうございました。本当に助かりました…。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問