A WordPress-centric search engine for devs and theme authors



has_shortcode ›

Since3.6.0
Deprecatedn/a
has_shortcode ( $content, $tag )
Parameters: (2)
  • (string) $content Content to search for shortcodes.
    Required: Yes
  • (string) $tag Shortcode tag to check.
    Required: Yes
Returns:
  • (bool) Whether the passed content contains the given shortcode.
Defined at:
Codex:

Whether the passed content contains the specified shortcode



Source

function has_shortcode( $content, $tag ) {
	if ( false === strpos( $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;
}