Basic Shortcodes
Add a Shortcode #Add a Shortcode
It is possible to add your own shortcodes by using the Shortcode API. The process involves registering a callback $func to a shortcode $tag using add_shortcode().
<?php
add_shortcode(
string $tag,
callable $func
);
In a Theme #In a Theme
<?php
function wporg_shortcode($atts = [], $content = null)
{
// do something to $content
// always return
return $content;
}
add_shortcode('wporg', 'wporg_shortcode');
[wporg] is your new shortcode. The use of the shortcode will trigger the wporg_shortcode callback function.
In a Plugin #In a Plugin
Unlike a Theme, a Plugin is run at a very early stage of the loading process thus requiring us to postpone the adding of our shortcode until WordPress has been initialized.
We recommend the init action hook.
<?php
function wporg_shortcodes_init()
{
function wporg_shortcode($atts = [], $content = null)
{
// do something to $content
// always return
return $content;
}
add_shortcode('wporg', 'wporg_shortcode');
}
add_action('init', 'wporg_shortcodes_init');
Remove a Shortcode #Remove a Shortcode
It is possible to remove shortcodes by using the Shortcode API. The process involves removing a registered $tag using remove_shortcode().
<?php
remove_shortcode(
string $tag
);
Make sure that the shortcode have been registered before attempting to remove. Specify a higher priority number for add_action() or hook into an action hook that is run later.
Check if a Shortcode Exists #Check if a Shortcode Exists
To check whether a shortcode has been registered use shortcode_exists().