WordPress Twenty Seventeen
子テーマの「functions.php」
PHP Warning: Undefined variable $xxxxx
子テーマの「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 $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ビット値をサポートしています)マンド用
・サーバー構造: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
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」も同時に消える。
を追記することで、「Undefined variable $mdate」も同時に消える。
その他も同様に設定。
$sc_Linkcard = "";
$page = "";
$page = "";
参考:
以上。
(2023.10.05)
(2023.10.05)
スポンサー リンク