apply_filters( 'do_shortcode_tag', string $output , string $tag , array|string $attr , array $m )
Filters the output created by a shortcode callback.
Description Description
Parameters Parameters
- $output
-
(string) Shortcode output.
- $tag
-
(string) Shortcode name.
- $attr
-
(array|string) Shortcode attributes array or empty string.
- $m
-
(array) Regular expression match array.
Source Source
Changelog Changelog
| Version | Description |
|---|---|
| 4.7.0 | Introduced. |
User Contributed Notes User Contributed Notes
You must log in before being able to contribute a note or feedback.
This filter is very useful to either add additional content at the end of a shortcode (for example an inline script),
add_filter( 'do_shortcode_tag','add_my_script',10,3); function enqueue_my_script($output, $tag, $attr){ if('aShortcode' != $tag){ //make sure it is the right shortcode return $output; } if(!isset($attr['id'])){ //you can even check for specific attributes return $output; } $output.='<script> ... </script>'; return $output; }Another useful functionality is to enqueue shortcode-specific scripts,
add_action( 'wp_enqueue_scripts', 'register_my_script'); function register_my_script(){ wp_register_script('my-shortcode-js',$src, $dependency, $version, $inFooter); } add_filter( 'do_shortcode_tag','enqueue_my_script',10,3); function enqueue_my_script($output, $tag, $attr){ if('myShortcode' != $tag){ //make sure it is the right shortcode return $output; } if(!isset($attr['id'])){ //you can even check for specific attributes return $output; } wp_enqueue_script('my-shortcode-js'); //enqueue your script for printing return $output; }Expand full source codeCollapse full source code
first you register your script, which doesn’t actually get printed on your page unless your enqueue it if your shortcode is called.