質問するログイン新規登録

Q&A

解決済

1回答

446閲覧

使用していない関数でFatal errorが発生する

chikappa

総合スコア2

WordPress

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

PHP

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

0グッド

0クリップ

投稿2025/10/06 04:13

編集2025/10/06 05:04

0

0

実現したいこと

Fatal errorを解消したい

発生している問題・分からないこと

Wordpressのデバッグログに以下のエラーが残ります。

エラーメッセージ

error

1[28-Aug-2025 00:02:39 UTC] PHP Fatal error: Uncaught Error: Call to undefined function getEventIcon() in /home/***/www/wp-cms/wp-content/themes/***-company/archive-event.php:344

該当のソースコード

PHP

1332 <?php 2333 if ( has_post_thumbnail() ){ 3334 echo get_the_post_thumbnail(get_the_ID(), 'thumbnail', [ 4335 'alt' => get_the_title(), 5336 'loading' => 'lazy', 6337 'class' => 'card-img-top' 7338 ]); 8339 // 古いサムネイル表示 9340 // the_post_thumbnail('medium', array('class' => 'card-img-top')); 10341 }else{ 11342 echo '<img src="' . get_stylesheet_directory_uri() . '/images/noimage.png" class="card-img-top">'; 12343 } 13344 ?> 14

試したこと・調べたこと

  • teratailやGoogle等で検索した
  • ソースコードを自分なりに変更した
  • 知人に聞いた
  • その他
上記の詳細・結果

archive-event.phpの344行目で定義されていない関数getEventIcon()が呼ばれているという意味だと思うのですが、テーマ内のfunction.phpを含むすべてのファイルでgetEventIcon()という関数は使用されていません。
このテーマはhabakiriの子テーマですが、habakiriのテーマの中にもそのような関数は見当たりませんでした。

Fatal Errorですが、このテンプレートを使っているページは特に支障なく表示されています。
まったく同じ内容のarchive-event.phpを使っている別のテーマがあるのですが、そちらではエラーは記録されていません。

該当の344行目は、PHPの閉じタグでした。
原因がお分かりの方、解決方法を教えていただけますと幸いです。

補足

特になし

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

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

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

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

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

hiroki-o

2025/10/06 14:29

エラーが出る環境と出ない環境で、WordPress、habakiri、PHPのバージョンに違いはありますか? 念のため、プラグインのソースも検索してみては、どうでしょうか。
chikappa

2025/10/10 07:17

コメントありがとうございます。 マルチサイトのAとBで、配色が違うだけの同じテーマを使っているのですが、Aだけでこのエラーが発生します。なので、エラーの出るサイトと出ないサイトはまったく同じ環境です。 プラグインをほぼすべて停止してみても、エラーは止まりませんでした。 さらに、テーマAとテーマBを入れ替えても(つまりエラーの出ないサイトBのテーマをエラーの出るサイトAのテーマにする)、Aでだけエラーが発生します。 ということはテーマに関係がないのかと思うのですが、全く別のテーマにすると、当たり前かもしれませんがエラーは出ませんでした。 何をどう考えればいいのかというレベルで悩んでおります。
FKM

2025/10/10 08:51

PHPのエラーは原因を特定するのが難しいので、部分部分でコメントアウトしていって消去法で割り出していく方法はけっこう使います。WordPress独自の関数あたりで呼び出している可能性もゼロじゃないので。
hiroki-o

2025/10/10 23:14

WordPressをインストールしたフォルダー配下の全ファイル(本体、テーマ、プラグイン等全部)を、「getEventIcon」でgrepしてみてください。 どこかで(私はプラグインを疑っていますが)サイトAとサイトBの場合分けの処理があって、サイトA側だけエラーが発生する可能性はあります。
guest

回答1

0

自己解決

コメントくださった皆様ありがとうございました。
結局、プラグインをほぼすべて無効にして、他のテーマやWordpress自体のファイルまで探しましたがgetEventIcon()は見つからないままエラーは出続け、そのうちに私がコロナでお休みを頂戴し、復帰したところエラーは出なくなっておりました。
何かのキャッシュが残っていたのか?しかしキャッシュも何度もクリアしたつもりですし、そもそも8月からずっとキャッシュが残っていたのも不自然と思うのですが…
原因は不明ですが、問題が消滅いたしましたのでクローズいたします。
アドバイスに感謝いたします。

投稿2025/10/16 05:55

chikappa

総合スコア2

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.29%

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

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

質問する

関連した質問