php8.0なのかwordpress6.0なのかわからないけど、オブジェクト型はそのまま引数に使用できなくなっていた。
$itemにいろいろな情報を入れて引数にしていたので、そのまま使っていたのがいけなかったらしい。
<誤>
‘post_status’ => $item -> status,
‘post_date’ => $item -> post_date,
‘post_date_gmt’ => $item -> post_date
<正>
‘post_status’ => (string)$item -> status,
‘post_date’ => (string)$item -> post_date,
‘post_date_gmt’ => (string)$item -> post_date
【症状】
ロリポップでphp7.1モジュール版を使用していて、急にサーバーメンテナンスで勝手に7.1CGI版になってしまい古いwordpress4.9.*くらいみたいなやつが完全に動かなくなったので、FTPで無理やり仕方なくwordpress6.0にしてphp8.1CGI版にしたらwp_insert_postで入らなかった感じ。
特にpost_status、post_date_gmt、post_dateにどうしても変な値が入るので動かなかった。
原因がわかるとあぁ…何ですよね。
「明日から”あだ名”は禁止です。フルネームで呼びましょう」って言われた小学生の気持ちです。