Sim, eu sei sobre o truque da variável global $ more , mas não funcionou para mim.
Portanto, aqui está uma função rápida para mostrar uma página estática por ID até a tag WP more :
function get_post_content_and_title_until_more_tag($post_id){
// getting the post's content by id
$current_post = get_post($post_id);
$title = $current_post->post_title;
$link = get_permalink($post_id);
$raw_content = $current_post->post_content;
// look for the more tag
$splitted_content = split("<!--more-->", $raw_content);
// just in case there's no more tag
$before_more_tag_text = $raw_content;
if ( count($splitted_content) > 0 ) {
// it's there, take the first part only
$before_more_tag_text = $splitted_content[0];
}
// don't forget to apply the 'the_content' filter
$content = apply_filters(
'the_content', $before_more_tag_text
);
return sprintf(
'<h3 class="header">%s</h3>
<div class="wysiwyg">
%s
</div>
<a class="more" href="%s">more...</a>',
$title, $content, $link
);
}