質問: 'draft'; wp_update_post( $my_post ); } } // end foreach } add_action( 'init', 'sfn_show_expire' ); それは私が必要とする投稿を得てそして私にサーバー時間を与えていますが、私が言うことができる限りそれを過ぎて何もしていません。
回答: あなたの問い合わせはあなたに投稿idを与えているのではなく、それはあなたに全体の投稿を与えています。 select *はすべての列、id、post_statusなどを返します。したがって、この場合、$my_post['id'] = $aを設定しても何も起こりません。代わりに:$my_post['id'] = $a->id;を使ってみてください。あなたがwp_update_post()を呼び出す前にそれはあなたのidを正確にセットしなければならず、あなたはビジネスにいるべきです。それ以外の点では、私はあなたがしていることに問題はないと思います...サイトがロードされるたびにデータベースを照会することは結局パフォーマンス問題を引き起こすかもしれないことを除いて。私は代わりにプロセスを自動化するために1時間ごとのchronジョブを設定したいと思います...そしてそれはユーザートラフィックに依存したり遅くなったりしません。