【WordPress】Attempt to read property “ID” on int のエラーを解決する

$post 変数は、the_post() 関数によって設定される必要があり、ループ内の投稿で設定する必要があります。

if ( have_posts() ) {
  while ( have_posts() ) {
    the_post();
    echo $post->ID;
  }
}

$postをループ外で利用する場合は、globalで呼び出します。

global $post

石井秀幸(いしいひでゆき)
Webデザイナー / WordPressエンジニア。株式会社ノクチ基地 取締役、モンゼンクリエイティブ合同会社 代表。WordPress公式コミュニティ「横浜 WordPress Meetup」オーガナイザー。WordPress歴15年以上。アクセシビリティ対応とオリジナルテーマ開発を専門とし、公式テーマディレクトリの審査基準に準拠したテーマを制作しています。