【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