do_shortcode_tag() – Regular Expression callable for do_shortcode() for calling shortcode hook.
You appear to be a bot. Output may be restricted
Description
Regular Expression callable for do_shortcode() for calling shortcode hook.
Usage
$string = do_shortcode_tag( $m );
Parameters
- $m
- ( array ) required – { Regular expression match array.
- $0
- ( string ) required – Entire matched shortcode text.
- $1
- ( string ) required – Optional second opening bracket for escaping shortcodes.
- $2
- ( string ) required – Shortcode name.
- $3
- ( string ) required – Shortcode arguments list.
- $4
- ( string ) required – Optional self closing slash.
- $5
- ( string ) required – Content of a shortcode when it wraps some content.
- $6
- ( string ) required – Optional second closing brocket for escaping shortcodes. }
Returns
string Shortcode output.
Source
File name: wordpress/wp-includes/shortcodes.php
Lines:
1 to 58 of 58
function do_shortcode_tag( $m ) { global $shortcode_tags; // Allow [[foo]] syntax for escaping a tag. if ( '[' === $m[1] && ']' === $m[6] ) { return substr( $m[0], 1, -1 ); } $tag = $m[2]; $attr = shortcode_parse_atts( $m[3] ); if ( ! is_callable( $shortcode_tags[ $tag ] ) ) { _doing_it_wrong( do_shortcode_tag, /* translators: %s: Shortcode tag. */ sprintf( __( 'Attempting to parse a shortcode without a valid callback: %s' ), $tag ), '4.3.0' ); return $m[0]; } /** * Filters whether to call a shortcode callback. * * Returning a non-false value from filter will short-circuit the * shortcode generation process, returning that value instead. * * @since 4.7.0 * * @param false|string $output Short-circuit return value. Either false or the value to replace the shortcode with. * @param string $tag Shortcode name. * @param array|string $attr Shortcode attributes array or the original arguments string if it cannot be parsed. * @param array $m Regular expression match array. */ $return = apply_filters( 'pre_do_shortcode_tag', false, $tag, $attr, $m ); if ( false !== $return ) { return $return; } $content = isset( $m[5] ) ? $m[5] : null; $output = $m[1] . call_user_func( $shortcode_tags[ $tag ], $attr, $content, $tag ) . $m[6]; /** * Filters the output created by a shortcode callback. * * @since 4.7.0 * * @param string $output Shortcode output. * @param string $tag Shortcode name. * @param array|string $attr Shortcode attributes array or the original arguments string if it cannot be parsed. * @param array $m Regular expression match array. */ return apply_filters( 'do_shortcode_tag', $output, $tag, $attr, $m ); }