Skip to content

Instantly share code, notes, and snippets.

@jkz
Last active December 16, 2015 16:19
Show Gist options
  • Save jkz/5462209 to your computer and use it in GitHub Desktop.
Save jkz/5462209 to your computer and use it in GitHub Desktop.
Wordpress [raw][/raw] tag, to ignore autoformatting
/*
* taken from http://www.wprecipes.com/disable-wordpress-automatic-formatting-on-posts-using-a-shortcode
*
* [raw] tag allows for raw html in pages as shortcode.
*/
function my_formatter($content) {
$new_content = '';
$pattern_full = '{(\[raw\].*?\[/raw\])}is';
$pattern_contents = '{\[raw\](.*?)\[/raw\]}is';
$pieces = preg_split($pattern_full, $content, -1, PREG_SPLIT_DELIM_CAPTURE);
foreach ($pieces as $piece) {
if (preg_match($pattern_contents, $piece, $matches)) {
$new_content .= $matches[1];
} else {
$new_content .= wptexturize(wpautop($piece));
}
}
return $new_content;
}
remove_filter('the_content', 'wpautop');
remove_filter('the_content', 'wptexturize');
add_filter('the_content', 'my_formatter', 99);
<ul>
<?php
while ( have_posts() ) : the_post();
?>
<li><a href="<?php=get_permalink($post->id);?>"><?phpthe_title();?></a>
<?php
endwhile;
?>
</ul>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment