Filter in shortcodes for the_content() – WordPress
How to filter one or more shortcodees out /in of the_content() in wordpress.
In this example I want to filter, so that only “gmedia”, a slideshow plugin that I use, will be displayed.
<?php if(has_shortcode(get_the_content(), 'gmedia')) : // Specify the shortcode to filter ?> <?php $pattern = get_shortcode_regex(); preg_match("/$pattern/s", get_the_content(), $matches); ?> <div id="content"> <?php echo strip_shortcodes(get_the_content()); ?> </div> <div id="gallery"> <?php echo do_shortcode($matches[0]); //This is match [0] - you can use as many as you want. ?> </div> <?php endif; ?> <?php // Show the content also if the shortcake exists, but hide the shortcode if(!has_shortcode(get_the_content(), 'gmedia')) : // Specify the shortcode to filter ?> <?php echo strip_shortcodes(get_the_content()); ?> <?php endif; ?>
This could be used in eg. single.php in your theme.