Obtener el contenido de una entrada de WordPress por su ID
¿Cómo puedo obtener el contenido de una entrada de WordPress usando su ID?

Tan simple como parece
$my_postid = 12;//Este es el id de la página o el id de la entrada
$content_post = get_post($my_postid);
$content = $content_post->post_content;
$content = apply_filters('the_content', $content);
$content = str_replace(']]>', ']]>', $content);
echo $content;

Forma abreviada para un campo específico: $content = get_post_field('post_content', $my_postid);

@Bainternet Solo tengo curiosidad... ¿qué hace la parte $content = str_replace(']]>', ']]>', $content);
? ¿cuál es su propósito allí?

@AverageJoe es un reemplazo básico de búsqueda. Cuando se usa the_content() el contenido es filtrado. Como en el ejemplo anterior el contenido se recuperó directamente, el autor ha usado el reemplazo de búsqueda para hacerlo seguro.

tal vez también necesites do_shortcode() como $content = do_shortcode(get_post_field('post_content', $my_postid));

mejor hacerlo como echo apply_filters('the_content', get_post_field('post_content', $post_id));
. Por ejemplo, cuando se usa qTranslate, tu solución no sería suficiente.

Esta es la mejor respuesta si el objetivo es obtener el contenido de la entrada tal como aparece en la página de edición de WordPress.

Sin el código de @KarelAttl faltaban los saltos de línea. Con el código apply_filters funcionó perfectamente.

Otra forma de obtener el contenido de una entrada de WordPress por su ID es:
$content = apply_filters('the_content', get_post_field('post_content', $my_postid));
Para completar esta respuesta también he añadido el método 01 y el método 02.
Método 01 (crédito para bainternet):
$content_post = get_post($my_postid);
$content = $content_post->post_content;
$content = apply_filters('the_content', $content);
$content = str_replace(']]>', ']]>', $content);
Método 02 (crédito para realmag777):
$content = get_post_field('post_content', $my_postid);
Método 03:
$content = apply_filters('the_content', get_post_field('post_content', $my_postid));
Lee la pregunta ¿Cuál es la mejor/más eficiente forma de obtener contenido de WordPress por ID de entrada y por qué? para tener una idea sobre cuál de los tres métodos anteriores deberías usar.

A partir de WordPress 5.2.0,
Ahora podemos usar el objeto post o el ID del post en la función get_the_content
.
También podemos pasar $more_link_text y $strip_teaser
get_the_content( string $more_link_text = null, bool $strip_teaser = false, WP_Post|object|int $post = null )
Podemos usarlo junto con apply_filters
como se muestra a continuación para obtener todos los filtros de the_content
apply_filters( 'the_content', get_the_content(null, false, $post_id)),

Si necesitas más de una entrada, utiliza get_posts()
. Esta función no interfiere con la consulta principal y devuelve un array de entradas que es fácil de recorrer en un bucle.
