Determines whether the passed content contains the specified shortcode.
Parameters
$content
stringrequired- Content to search for shortcodes.
$tag
stringrequired- Shortcode tag to check.
Source
function has_shortcode( $content, $tag ) { if ( ! str_contains( $content, '[' ) ) { return false; } if ( shortcode_exists( $tag ) ) { preg_match_all( '/' . get_shortcode_regex() . '/', $content, $matches, PREG_SET_ORDER ); if ( empty( $matches ) ) { return false; } foreach ( $matches as $shortcode ) { if ( $tag === $shortcode[2] ) { return true; } elseif ( ! empty( $shortcode[5] ) && has_shortcode( $shortcode[5], $tag ) ) { return true; } } } return false; }
Changelog
Version | Description |
---|---|
3.6.0 | Introduced. |
Enqueue some script when some post uses some shortcode.
Note:
has_shortcode()
can use a lot of resources if scanning a lot of content.Simple Example
Redirect to specific page for not logged in user for specific shortcode
Simple Example
Note:
has_shortcode()
can use a lot of resources if scanning a lot of content.