When outputting certain content, it’s useful for it to retain the features of WordPress’ the_content()
function. Namely, that paragraphs are automatically generated (wpautop), shortcodes are run, and oEmbed converts certain links to rich media (ex: Youtube video link becomes embedded video).
You could do this by wrapping your content in apply_filters( 'the_content', $my_field );
, but some plugins use the 'the_content'
filter to add their own functionality to the main post content. You might end up with sharing links or some other unwanted feature on your content.
I create my own filter, 'ea_the_content'
, to which I attach all the functions I want. I can then use apply_filters( 'ea_the_content', $my_field )
without worrying about another plugin using the filter.
<?php | |
/** | |
* Duplicate 'the_content' filters | |
* | |
* @author Bill Erickson | |
* @link http://www.billerickson.net/code/duplicate-the_content-filters/ | |
*/ | |
global $wp_embed; | |
add_filter( 'ea_the_content', array( $wp_embed, 'run_shortcode' ), 8 ); | |
add_filter( 'ea_the_content', array( $wp_embed, 'autoembed' ), 8 ); | |
add_filter( 'ea_the_content', 'wptexturize' ); | |
add_filter( 'ea_the_content', 'convert_chars' ); | |
add_filter( 'ea_the_content', 'wpautop' ); | |
add_filter( 'ea_the_content', 'shortcode_unautop' ); | |
add_filter( 'ea_the_content', 'do_shortcode' ); |