Using WordPress ‘apply_shortcodes()’ PHP function

The apply_shortcodes() WordPress PHP function searches content for shortcodes and filters shortcodes through their hooks. It is an alias for do_shortcode().


Here’s a simple use of apply_shortcodes() function:

echo apply_shortcodes('[myshrtcode]Hello World![/myshrtcode]');

In this example, ‘Hello World!’ would be the output, assuming ‘myshrtcode’ has been properly defined.


  • $content (string): This is the content in which to search for shortcodes.
  • $ignore_html (bool): Optional. If true, the function will skip shortcodes inside HTML elements. Default is false.

More information

See WordPress Developer Resources: apply_shortcodes()
This function was introduced in WordPress 5.4 and is an alternative to do_shortcode().


Basic Usage

Using apply_shortcodes() to parse a shortcode within a string.

// Assuming 'myshrtcode' is a registered shortcode that wraps text in a <p> tag.
echo apply_shortcodes('[myshrtcode]Hello World![/myshrtcode]');
// Output: <p>Hello World!</p>

Ignoring HTML

Using apply_shortcodes() with the $ignore_html parameter set to true. This will ignore shortcodes within HTML tags.

// 'myshrtcode' adds a <p> tag around the content.
echo apply_shortcodes('<div>[myshrtcode]Hello World![/myshrtcode]</div>', true);
// Output: <div>[myshrtcode]Hello World![/myshrtcode]</div>

Using a Shortcode with Attributes

Using apply_shortcodes() to parse a shortcode with attributes.

// Assuming 'myshrtcode' is a registered shortcode that wraps text in a <p> tag with a class.
echo apply_shortcodes('[myshrtcode class="highlight"]Hello World![/myshrtcode]');
// Output: <p class="highlight">Hello World!</p>

Combining Shortcodes

Using apply_shortcodes() to parse multiple shortcodes in a single string.

// 'myshrtcode' wraps text in a <p> tag, 'anothershrtcode' wraps text in a <strong> tag.
echo apply_shortcodes('[myshrtcode][anothershrtcode]Hello World![/anothershrtcode][/myshrtcode]');
// Output: <p><strong>Hello World!</strong></p>

Shortcodes in Variables

Using apply_shortcodes() with a variable that contains a shortcode.

// 'myshrtcode' wraps text in a <p> tag.
$text = "[myshrtcode]Hello World![/myshrtcode]";
echo apply_shortcodes($text);
// Output: <p>Hello World!</p>