2023/07/21 追記
https://webfood.info/make-kattene/
https://plugins.trac.wordpress.org/browser/kattene/tags/1.6/plugin.php
WordPressがサブディレクトリにインストールされている場合も使えるようにした。 mainフラグ周りの「Warning: Undefined array key」や「Notice: Undefined index」が出ないようにした。 mainフラグが1つも設定されていない場合、1番上のURLをメインとして使うようにした。複数にmainフラグが設定されてしまった場合は、そのうちの1番上のものをメインとするようにした。 |
kattene 1.6で修正されました。
別ブログでkatteneプラグインを使っていて、PHP8.0以上にアップグレードすると、下記エラーが発生。
Warning: Undefind array key "main" in /home/xxxx/wp-content/plugins/kattene/plugin.php on line 44
PHP7まではNoticeのみで出力されていなかった。PHP8以降はWarningに格上げ。
上の表示でもそんな感じ。
プラグイン自体2年ほどアップデートされていないので、pochippに乗り換える人がちらほら。
今更全てのリンクを変更するのは面倒だったので、plugin.phpを編集。
編集前
$main_tmp = array_filter($sites,
function($site){
return $site["main"];
}
);
$main = array_pop($main_tmp);
編集後
$main_tmp = array_filter($sites,
function($site){
return isset($site["main"]) && $site["main"];
}
);
if (!empty($main_tmp)) {
$main = array_pop($main_tmp);
}
$sites
配列の要素に "main"
キーが存在するかどうかを事前に確認。
$main = array_pop($main_tmp); も一応エラーハンドリングを追加しておく。
PHP8.2.5で動作確認済。