postのIDを取得したいケースは様々です。

ループの中で取得したいなら get the ID を使います。

<?php get_the_ID(); ?>
<?php the_ID(); ?>

一方ループの外でIDを取得する必要な場合はグローバル関数( $post )を使って「$post->ID;」でIDを取得できます。

<?php 
  global $post;
  $post_id = $post->ID;
?>

Lazy BlockでPHP出力をするケースで、クエリーブロック内でIDを取得したい場合、ループ内だと考えるとうまくいきません。実はグローバル関数が必要です。

<?php
global $post;
if(mb_strlen($post->post_title)>25) {
  $title= mb_substr($post->post_title,0,25) ;
    echo "<h3 class='has-link-color wp-block-post-title has-text-color has-main-color has-medium-font-size'>".$title . '...'."</h3>";
  } else {
    echo "<h3 class='has-link-color wp-block-post-title has-text-color has-main-color has-medium-font-size'>".$post->post_title."</h3>";
  }
?>