wordpress 6.0 wp_insert_postでうまく入らない

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にどうしても変な値が入るので動かなかった。

原因がわかるとあぁ…何ですよね。

「明日から”あだ名”は禁止です。フルネームで呼びましょう」って言われた小学生の気持ちです。