当然,有一个API函数隐藏在内核深处,用于检索<!--more-->
内容中的标记。由于完全没有命名约定,WP中方便的部分经常受到监督:get_extended()
.
// In the loop, after `the_post()` filled the global `$post`:
$info = get_extended( $post );
// The resulting data is an Array:
[Array] $info
\'main\' => the text before the `<!--more-->`
\'extended\' => the content after the `<!--more-->` comment
\'more_text\' => the custom "Read More" text
结果如下所示:
if ( have_posts() )
{
while ( have_posts() )
{
the_post();
$info = get_extended( $GLOBALS[\'post\'] );
if ( ! empty( $info[\'extended\'] ) )
{
the_content( ! empty( $info[\'more_text\'] ) ? $info[\'more_text\'] : \'Read more\' );
}
else
{
the_excerpt();
}
}
}
并根据是否存在
<!--more-->
. 请记住,根据默认情况,WP仅接受
<!--more-->
无空格。因此,如果作者手动键入并添加空格,则
<!-- more -->
无论如何都不行。