HOME → 3 WordPress → 04 運用とトラブル → 

PHP Warning: Undefined variable $xxxxx が続発する

WordPress Twenty Seventeen
子テーマの「functions.php」
PHP Warning: Undefined variable $xxxxx 
 
久しくチェックしていなかった「nginx の error.log」を見ると、「Undefined variable」というワーニングメッセージが続発している。発生個所は、子テーマの「functions.php」に組み込んだカスタマイズコードの行になっている。
 
Undefined variable $mdate
Undefined variable $nlink
Undefined variable $sc_Linkcard
Undefined variable $page
 
以下、Undefined variable $xxxxx への対応策を記録。
 

 

スポンサー リンク

 

 
 
 
 
 
1. 稼働環境
 
Raspberry Pi で運用している、WebサーバーのWordPress。
・WordPress:バージョン 6.3.1
・サーバー構造:Raspberry Pi (bullseye)Linux 6.1.21-v8+ aarch64
・Web サーバー:nginx/1.24.0
・PHP バージョン:8.1.22 (64ビット値をサポートしています)マンド用
 
 
 
2. PHP message: PHP Warning
 
「nginxのerror.log」の参照。
tail -f /var/log/nginx/error.log
sudo cat /var/log/nginx/error.log
 
2023/10/02 20:05:33 [error] 672#672: *13565 FastCGI sent in stderr:
 "PHP message: PHP Warning:
  Undefined variable $nlink
 in /home/yaopi/www/wordpress/wp-content/themes/twentyseventeen-child/functions.php
 on line 245

・・・・・

 while reading response header from upstream,
 client: 51.222.253.12, server: arakan60.com,
 request: "GET /?p=13889 HTTP/1.0",
 upstream: "fastcgi://unix:/run/php/php8.1-fpm.sock:", host: "arakan60.com"
 
このエラーは、使用している変数が定義されていないため、変数が読み込めませんというエラー。
 
 
 
3. 解決策
 
「Undefined variable $mdate」が発生した箇所。
(内部リンクをショートコードでブログカード化したルーティンの一部。)
 $nlink .='
 <div class="blog-card"><a href="'. $url .'">
 <div class="blog-card-thumbnail">'. $img_tag .'</div>
 <div class="blog-card-content">
 <div class="blog-card-title">'. $title .' </div>
 <div class="blog-card-excerpt">'.$excerpt.'</div>
 <div class="blog-card-date">'.$date.'</div>
 <div class="blog-card-mdate">'.$mdate.'</div>
 </a>
 </div>
 <div class="clear"></div>
 <div style="clear:both;"> </div>
 </div>';
 
最も簡単な方法「警告が出た変数に空文字を設定」するで、子テーマの「functions.php」に追記。
 
$nlink = "";
を追記することで、「Undefined variable $mdate」も同時に消える。
 
その他も同様に設定。
$sc_Linkcard = "";
$page = "";
 
参考:
 
 
以上。
(2023.10.05)
 

 

スポンサー リンク

 

             

 

 

 

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください