Search code examples
phpwordpressformattingstrip

Wordpress retain formatting when calling extended content?


I am calling in content in Wordpress via the below code. Eseentially, I am dividing the content of the post into three sections; 1. Before the tag, 2. After the tag and 3. Post gallery. The code I have so far works perfectly to get the content, however I am having an issue as all formatting tags (p in particular) are being stripped. Is there a way to retain these?

Thanks

<?php 
// Fetch post content
$content = get_post_field( 'post_content', get_the_ID() );
// Get content parts
$content_parts = get_extended( $content );
?>
<p>
<?php echo $content_parts['main']; // Output content before <!--more--> ?>  
</p>
<p class="read-more">
<?php echo strip_shortcodes($content_parts['extended']); // Output content after <!--more--> ?> 
</p>
<button>Read More</button>
<?php $gallery = get_post_gallery_images( $post ); ?>

Solution

  • When you pull the post content using get_post_field, the autop filter is not applied: http://codex.wordpress.org/Function_Reference/wpautop

    You can apply all of the content filters yourself by adding this line after you set $content:

    $content = apply_filters('the_content', $content);