Как то так
function wpp_get_post_short() {
if ( empty( $id ) ) {
__return_false();
}
$atts = shortcode_atts( [
'id' => $id
], $atts );
$post = get_post( $atts['id'] );
if ( empty( $post ) ) {
__return_false();
}
$out = "<div class=\"my-post-{$id}\">";
$out .= sprintf( '<h2>%s</h2>', $post->post_title );
$out .= sprintf( '<div>%s</div>', do_shortcode( $post->post_content ) );
$out .= '</div>';
return $out;
}
add_shortcode( 'get_my_post', 'wpp_get_post_short' );
использовать так
[get_my_post id="5"]