35 lines
865 B
PHP
35 lines
865 B
PHP
<?php
|
|
/**
|
|
* Raw Format Shortcode
|
|
* Displays formatting in a raw output that bypasses the post formatting.
|
|
*
|
|
* example: [raw]This portion of text will not be automatically formatted by WP.[/raw]
|
|
*
|
|
* This is useful if you want to paste in your post code and other things.
|
|
*/
|
|
|
|
|
|
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);
|
|
|
|
|
|
?>
|