A WordPress-centric search engine for devs and theme authors

get_extended ›

get_extended ( $post )
  • (string) post Post content.
    Required: Yes
  • (string[]) { Extended entry info. @type string $main Content before the more tag. @type string $extended Content after the more tag. @type string $more_text Custom read more text, or empty string. }
Defined at:

Get extended entry info (<!--more-->).

There should not be any space after the second dash and before the word 'more'. There can be text or space(s) after the word 'more', but won't be referenced. The returned array has 'main', 'extended', and 'more_text' keys. Main has the text before the <!--more-->. The 'extended' key has the content after the <!--more--> comment. The 'more_text' key has the custom "Read More" text.


function get_extended( $post ) {
	// Match the new style more links.
	if ( preg_match( '/<!--more(.*?)?-->/', $post, $matches ) ) {
		list($main, $extended) = explode( $matches[0], $post, 2 );
		$more_text             = $matches[1];
	} else {
		$main      = $post;
		$extended  = '';
		$more_text = '';

	// Leading and trailing whitespace.
	$main      = preg_replace( '/^[\s]*(.*)[\s]*$/', '\\1', $main );
	$extended  = preg_replace( '/^[\s]*(.*)[\s]*$/', '\\1', $extended );
	$more_text = preg_replace( '/^[\s]*(.*)[\s]*$/', '\\1', $more_text );

	return array(
		'main'      => $main,
		'extended'  => $extended,
		'more_text' => $more_text,