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>";
}
?>