tags from wordpress shortcodes via a php functon
Looking for a php function (non-jQuery or wpautop modification) approach to remove from within wordpress.
I tried this but it does not w
What you need is a mix of jquery and php... that is the only working way
that i found to be working really well. i have tutorial on my site but
in order to keep stuff inhouse here goes
The jQuery:
include this in some JS file you already enqueue
jQuery(function($){
$('div#removep > p').filter(function() {
return $.trim($(this).text()) === '' && $(this).children().length == 0
})
.remove()
})
A shortcode you can later use:
in your functions.php or included file
function sght_removep( $atts, $content = null ) {return '<div id="removep">'.do_shortcode($content).'</div>';}
add_shortcode('removep', 'sght_removep');
Now you can wrap specific stuff like this:
[removep]
Some text i write directly in wordpress wysiwyg
<p></p> <-- this would get removed
[/removep]
This solution requires some know how but it works!
Hope this helps...
maybe a regex could work:
$string=preg_replace_('/<p>\s*</p>/', '', $string);
That should replace any <p></p>
with nothing or just whitespaces in it to nothing, thus removing them.
When applying regex to HTML code it's a good idea to remove the \r\n
of the HTML first, since they stop the regex from working.
add_filter('the_content', 'cleanup_shortcode_fix', 10);
I found that it works if you specify 10 as the priority; no other number will work.
You should increase the priority of the filter.
This should work
add_filter('the_content', 'cleanup_shortcode_fix', 1);
You can remove
Tag enter
<?php echo $post->post_content; ?>
instead of the_content()
Try inserting this code in your functions.php
file:
remove_filter( 'the_content', 'wpautop' );
add_filter( 'the_content', 'wpautop', 99 );
add_filter( 'the_content', 'shortcode_unautop', 100 );