Adds a new shortcode and a hook for it.

For each shortcode, only one handler function can be created. This means that if another plugin uses the same shortcode, then your function will be replaced by another or vice versa (depending on the order in which the functions are connected).

If the shortcode has attributes, they are converted to lowercase before being passed to the function. Values ​​are not affected.

The result that the function (shortcode handler) returns should always be returned and not displayed.

Shortcodes are a construction of the form: or or text in the text, which will be replaced by other text created by the hook function responsible for the shortcode.

Video about shortcodes in WordPress:

There are no hooks.

Returns

Returns nothing.

Using add_shortcode($tag, $func); $tag (string) (required)

The name of the shortcode that will be used in the text. For example: "gallery".

Spaces and non-standard characters like: & / cannot be used in the name< > = .
Default: no

$func (string) (required)

The name of the function that should work if a shortcode is found.

The function receives 3 parameters, each of them may or may not be passed:

    $atts (array)
    An associative array of attributes specified in the shortcode.
    Default: "" (empty string - no attributes)

    $content (line)
    Shortcode text when the closing shortcode construct is used: shortcode text
    Default: ""

  • $tag (line)
    Shortcode tag. May be useful for transfer to additional functions. Ex: if the shortcode is , then the tag will be foo .
    Default: current tag

Default: no

Examples #1. Example of shortcode registration: function footag_func($atts)( return "foo = ". $atts["foo"]; ) add_shortcode("footag", "footag_func"); // result: // the shortcode in the text will be replaced with "foo = bar" #1.2. Setting a whitelist of shortcode attributes

In order for the shortcode to have only the parameters we specified and for these parameters to have default values, you need to use the shortcode_atts() function:

Add_shortcode("bartag", "bartag_func"); function bartag_func($atts)( // white list of parameters and default values ​​$atts = shortcode_atts(array("foo" => "no foo", "baz" => "default baz"), $atts); return " foo = ($atts["foo"])"; )

#2. Registering a shortcode with content

An example of creating such a shortcode: here is the text:

Add_shortcode("baztag", "baztag_func"); function baztag_func($atts, $content) ( return "content = $content"; ) // result: // the shortcode construct will be replaced with "content = text here"

#3. Registering a shortcode for classes

If your plugin is written as a class:

Add_shortcode("baztag", [ "MyPlugin", "baztag_func" ]); class MyPlugin ( static function baztag_func($atts, $content) ( return "content = $content"; ) )

#4 Inserting iframe via shortcode

This example shows how to create a shortcode so that you can then insert an iframe through it.

Function Generate_iframe($atts) ( $atts = shortcode_atts(array("href" => "http://example.com", "height" => "550px", "width" => "600px",), $ atts); return "

Your Browser does not support Iframes.

"; ) add_shortcode("iframe", "Generate_iframe"); // usage:

#5 Displaying a post by ID via shortcode

Let's get the post by ID using the shortcode in the theme's functions.php file.

Add_shortcode("testimonials", "testimonials_shortcode_handler"); function testimonials_shortcode_handler($atts)( global $post; $rg = (object) shortcode_atts([ "id" => null ], $atts); if(! $post = get_post($rg->id)) return "" ; $url = wp_get_attachment_url(get_post_thumbnail_id($post->ID)); logo). "" alt="icon" /> !}

". get_the_content() ."

author_image) ."" alt="image"> !}

". esc_html($post->author_name) ." ". esc_html($post->author_designation) ."

"; wp_reset_postdata(); return $out; )

Notes
  • Global. Array. $shortcode_tags
List of changes
From version 2.5.0 Introduced.
Code add shortcode: wp-includes/shortcodes.php WP 5.2.3. Let's call the function text_short. Inside it we will add the necessary text, which we will then display with a call.

Function text_short() ( return "Any necessary text that needs to be displayed inside the text of your post."; )

It's not over yet. It's just a function and needs to be turned into a shortcode. To do this, immediately after our function, we need to add the add_shortcode function, in which we will create our shortcode. The finished line will look like this:

Add_shortcode("ts", "text_short");

Inside the add_shortcode function, there are two names. ts is the name of the shortcode that we will call. The name can be whatever you come up with. text_short is the name of the function we came up with to display text. The finished code looks like this:

Function text_short() ( return "Any necessary text that needs to be displayed inside the text of your post."; ) add_shortcode("ts", "text_short");

The shortcode has been created, now you need to call it for output. When you write the text of the post, just add a call like this.

It's that simple.

  • Create a function
  • Let's make it a shortcode
  • Call inside the recording
  • Function reklama() ( return " (adsbygoogle = window.adsbygoogle || ).push()); "; ) add_shortcode("rek_sh", "reklama");

    And shortcode

    These are lightweight shortcodes and their essence is simple. You can create something more complicated. For example, make a shortcode that will set styles, for example to highlight some text or single word. Quite a convenient thing if you constantly need to highlight something, and standard editor few.

    Creating a shortcode

    Function gb_bgrnd($attr,$content= null)( return" .redbg( background-color: #f00; padding:3px 5px;) ".$content.""; ) add_shortcode("gbb_sh", "gb_bgrnd");

    This shortcode will highlight the text enclosed within it. It will have a red background. You can set your own styles. To make it work, enclose the desired text in a shortcode, like this:

    Text that will stand out

    To call the shortcode, you just need to write in the right place in the entry:

    How to insert a shortcode into a WordPress widget

    Sometimes there are cases when the shortcode needs to be displayed not in the text of the post, but in other places in your theme. such a place could be, for example, a text widget. By default this cannot be done, but by adding a filter this issue can be resolved. Add this line to functions.php:

    Add_filter("widget_text", "do_shortcode");

    How to Display a Shortcode Anywhere in a WordPress Theme

    As with widgets, in the usual way don't do it. So you need to use a little trick. In the right place on the topic, you need to insert the following code, inside which insert the name of the shortcode.

    There are also shortcodes of a slightly different type from plugins. All of them are displayed in the recording, but suddenly you need to do it outside of it. This applies to shortcodes like:

    They look like commented text. That's why standard methods won't fit. Such shortcodes are used, for example, by the plugin - WpShop. To display such shortcodes from the plugin, you need to use this method with a filter:

    Basically everything I wanted to show. If you use your imagination and certain skills, you can make the shortcodes you need and display them wherever you want. This is a useful functionality that can make your work with a WordPress blog easier.

    Do you use shortcodes on your website?

    That's all, thanks for your attention. 🙂

    WordPress shortcodes are a powerful but still little-known feature of the content management system. To show ads on your blog, simply type the word adsense. Using the post_count command you can instantly find out the number of posts. There are many similar examples. Feature sets can make a blogger's job much easier.

    Example of a simple shortcode

    A novice user needs to learn how to create and use special commands, as well as be able to use ready-made options. To do this, you need to understand what WordPress shortcodes consist of. As an example, you can take the line Some sentence. In this post, the user calls the option associated with the shortcode. The line consists of two parameters.

    The first part of the entry is an array consisting of the id and color attributes. Instead of these values, you can specify any parameters with the desired names in the opening tag. The second part of the entry is text. In order to process it, you need to translate the entire record into PHP. The user will receive a line with the following content: my_shortcode(array("id"=>"1", "color"="white"), "Some kind of sentence").

    If you wish, you can use the post without the closing tag above. The line will look like this: . In this case, only the attributes listed in the opening tag are passed to the function. The specified recording option is used when calling an option that does not require receiving other information for processing. In order to add a gallery, just specify the ID in the attributes.

    How to insert a shortcode in WordPress

    The feature sets are very easy to use. The blogger needs to create a new post or open an existing post for editing. Then you need to switch the text editor to HTML mode and specify the code in . You can also use attributes. The entry will look like this: .

    You can embed any content into shortcodes: text. WordPress 2.5 introduced a set of features called the Shortcode API. After saving the post, the content of the post is processed. In parallel, the Shortcode API converts shortcodes to perform their assigned functions.

    Purpose

    With this tool, you can create original WordPress themes in the editor without HTML or special knowledge. Accordion-style buttons and sliders are added if necessary. The user can divide the text into columns, connect a gallery, highlight words in any color, insert beautiful lists and tables with prices. Shortcodes allow you to make your blog more functional and your content more expressive and effective. This method of adding interactive elements is used to solve many problems and is very useful in work.

    Creating shortcodes

    If the user knows how to type a simple PHP function, then he will easily achieve his goal. To create a shortcode you need to find and open one of the WordPress files functions.php. Then you need to insert the line function hello() (return "Hello, world!";). This action will create a function responsible for displaying the specified text. To transform it into a shortcode, you need to insert the command “add_shortcode()” after the “hello()” option.

    The line will look like this: add_shortcode("hw", "hello");. Once a shortcode is created, the user can use it in notes and pages. To do this, you need to switch to HTML mode and enter the line . This shortcode is a clear example of how easy it is to create such feature sets.

    Using Plugins

    To make work easier, a blogger can download an extension. Using add-ons is the most in a simple way get ready-made sets of functions without unnecessary settings.

    WP Shortcode by MyThemeShop

    Most recently, this free extension was distributed as a premium solution. Currently, the WordPress shortcode plugin contains 24 basic elements: buttons, maps, dividers, pricing tables, and much more. To get started, a blogger needs to install the add-on and open a text editor. To add a shortcode, you need to click on the “+” icon. The number of settings in the pop-up window that appears depends on the user's selection.

    Shortcodes Ultimate

    This is one of the most popular extensions. The add-on is found in every collection of plugins for WordPress settings. The extension is available to every user. If necessary, paid additions to the plugin are downloaded. The blogger can work with 50 page design elements, a shortcode generator and a CSS style editor.

    The plugin has support for several languages. To the benefits software product You can also include integration with any templates, modern design, original button design, the presence of a custom widget and sliders for the gallery.

    Fruitful Shortcodes

    This extension is visually quite simple. Software product updates are performed infrequently. However, the addon contains all the standard WordPress shortcodes.

    The blogger can work with horizontal and vertical tabs, columns, dividers, etc. Added elements are instantly displayed in the graphic editor. The user can turn them off for posts or web pages using the Settings section.

    Shortcoder

    This plugin is also often found in different collections. The extension is updated very rarely. The user can create sets of functions using HTML and JavaScript codes. One of the most simple examples is the placement of an advertising block in the text. To do this, you need to create a set of adsenseAd functions.

    The Shortcoder plugin is a very flexible tool. You won't be able to find basic shortcodes here. The user can create the necessary elements independently.

    Easy Bootstrap Shortcode

    The plugin allows you to add new design styles for the site. The developers claim that this is the simplest and most accessible extension in WordPress. Panel text editor contains buttons that allow you to copy and paste the shortcode. The plugin has support for fonts with icons. The user can add styles and other website design elements.

    The extension was created to work with a web resource grid, so it has many settings for columns. A blogger can create several blocks, as well as specify sizes and indentations. The plugin supports the User can also work with basic shortcodes: tabs, lists, buttons, labels, sliders, etc.

    WP Canvas - Shortcodes

    The add-on contains a selection of the most popular feature sets to expand the functionality of the site. The blogger has access to not only ordinary elements, but also frames, images with captions, blocks for adding reviews, countdown widgets, progress indicators with effects, etc.

    The plugin supports custom styles, HTML code, fonts with icons. If desired, the blogger can enable display of a selection of site posts on the page. The developers provided users only brief description software product. At the same time, the plugin copes well with all the functions assigned to it.

    Arconix Shortcodes

    The extension contains 6 types of WordPress shortcodes. The user can work with blocks, tabs, buttons, sliders, etc. The plugin supports fonts with icons. If desired, the blogger can change the login form, turn on the backlight, and divide the page into columns.

    Simple Shortcodes

    This is one of the most simple extensions for WordPress. After installing the software product, you can see a selection button in the top panel of the text editor various elements. All the standard shortcodes are here: tabs, dropdown lists, icons, notifications, etc.

    After a blogger learns how to create and use feature sets, he can focus on ready-made solutions for the site.

    WordPress Shortcodes: Setting Up

    How to display a link to publish a post in social network Twitter? To do this, you need to open the functions.php file and paste it next to other WordPress shortcodes in PHP string as follows: function twitt())(return "ID).""title="share the note with your friends!" >отправить";}add_shortcode("twitter", "twitt");.!}

    Then you need to switch to HTML mode. Next you should enter the word. The link will be added to where the user left the shortcode.

    Set of functions "subscribe to RSS"

    One of the most effective ways to increase the number of subscribers is to display a well-formatted message. The blogger does not need to change the entire WordPress theme code. The user must decide for himself where the set of functions will be displayed. The code looks like this: function subscribeRss() (return "Subscribe";) add_shortcode("subscribe", "subscribeRss");.

    Adding Google AdSense

    Many bloggers use the service contextual advertising. Pasting Google's tool code into your theme file is easy. But marketers know that people are more likely to click on links embedded in content. To insert an ad block anywhere on the page, you need to create a shortcode and call it with the command.

    Adding an RSS Feed

    To accomplish this task, you need to convert the function into a shortcode. Then you need to enable HTML mode and insert the line into the editor field. The first attribute indicates the RSS feed URL, and the second attribute indicates the number of notes to display.

    Adding posts from the database

    To call up a list of articles directly in the editor, you need to create a shortcode, switch to HTML mode and insert the line . This command will allow you to display a list of five posts from the category with ID 2. It is worth paying attention to the fact that WordPress plugins can display related records. However, using a shortcode, a blogger can easily get a list of any number of posts from a particular category.

    Calling up the picture of the last article

    To make working with images easier, you can use function sets. To call up the image of the last post, you need to create a shortcode. Then you should enable HTML mode and insert the line into the edit field.

    Adding feature sets to widgets

    It is worth paying attention to the fact that not a single WordPress shortcode works in the side columns of the site. The platform limitation can be bypassed. To do this, you need to open the theme file for WordPress functions.php and insert the line add_filter('widget_text', 'do_shortcode');. The shortcode will be added to the widget.

    Starting with version 2.5, WordPress developers introduced the concept of “Shortcodes API”. This functionality allows you to create and use macro codes in website pages or blog posts. For example, a simple and short post will add an entire photo gallery to the page.

    In this article I want to show how to correctly create more complex shortcodes and solve the most common problems when creating them:

  • Connecting third-party scripts and launching only if there is a shortcode on the page.
  • Multi-level shortcode.
    • Composite shortcode.
    • Nesting of shortcodes.
  • Preparing the soil Before you start creating anything, I suggest my version of file placement:/
    /Includes/
    shortcodes.php

    functions.php

    Almost every guide suggests creating shortcodes directly in the functions.php file. I will say right away: I am an opponent of this approach. Instead, I strongly recommend placing all shortcodes in separate file(includes/shortcodes.php) and include it in functions.php in one line. This will significantly relieve functions.php and make the code more readable.

    Note: WordPress, of course, supports including files via require, but it strongly discourages this. It is suggested to use get_template_part() instead.

    Connecting scripts Many novice developers very often make this mistake - they include the scripts necessary for the operation of a particular shortcode immediately when declaring the shortcode. That is, scripts are always loaded, even if this shortcode is not on the page.

    An example of such an implementation:

    Function foobar_func($atts) ( return "foo and bar"; ) add_shortcode("foobar", "foobar_func"); function foo_script () ( wp_register_script("foo-js", get_template_directory_uri() . "/includes/js/foo.js"); wp_enqueue_script("foo-js"); ) add_action("wp_enqueue_scripts", "foo_script");

    This is a completely working option, but the script will load on every page, even if it is not needed there (i.e. there is no shortcode).

    To avoid such situations, I suggest using the following approach:

  • Define the shortcode as a separate class.
  • Add a flag that will determine whether this shortcode is on the page.
  • Load the script only when the shortcode is present.
  • That's all...

    An example of such an implementation:

    Class foobar_shortcode ( static $add_script; static function init () ( add_shortcode("foobar", array(__CLASS__, "foobar_func")); add_action("init", array(__CLASS__, "register_script")); add_action("wp_footer" , array(__CLASS__, "print_script"); ) static function foobar_func($atts) ( self::$add_script = true; return "foo and bar"; ) static function register_script() ( wp_register_script("foo-js", get_template_directory_uri() . "/includes/js/foo.js" ) static function print_script () ( if (!self::$add_script) return; wp_print_scripts("foo-js"); ) ) foobar_shortcode::init( );

    Unlike the previous implementation, this shortcode is initialized, but all scripts are loaded only if the shortcode is present on the page.

    Nested shortcodes There are a couple of other problems that novice developers may encounter:
    • Creating a multi-level shortcode (consisting of several).
    • Using a shortcode inside the same shortcode.

    Now - in more detail.

    Creating a Multi-Level Shortcode
    The problem is that such a shortcode consists of several smaller shortcodes and you need to prevent them from being used as separate shortcodes (except when necessary).

    Let's take for example a shortcode that creates a pricing table. To do this, you need to prepare three separate shortcodes:


    -


    - …
    -
    -
    - Option 1
    - Option 2
    - …
    -

    This example uses three shortcodes: .

    add_shortcode("price", "price_code");
    add_shortcode("plan", "plan_code");
    add_shortcode("option", "option_code");

    To prevent internal shortcodes from being used as separate ones, the following scheme is proposed:

    Price -> displaying code on the page
    Plan -> receiving data
    Option -> get data

    That is, the code is output to the page only in the external shortcode, while the internal ones simply return the received data. An example of such an implementation is given below.
    Description of the external shortcode function:

    Function price_code ($atts, $content) ( // initializing global variables for price plans $GLOBALS["plan-count"] = 0; $GLOBALS["plans"] = array(); // reading content and executing internal shortcodes do_shortcode($content); // preparing HTML code $output = ""; if(is_array($GLOBALS["plans"])) ( foreach ($GLOBALS["plans"] as $plan) ( $planContent = "" ; $planContent .= $plan; $planContent .= ""; $output .= $planContent; ) ) $output .= "";

    Description of internal shortcode functions:

    Function plan_code ($atts, $content) ( // get the shortcode parameters extract(shortcode_atts(array("title" => "", // Plan title name "price" => "0", // Plan price), $ atts)); // Prepare HTML: plan title $plan_title = ""; $plan_title .= " "; $plan_title .= ""; // Prepare HTML: cost $f_price = round(floatval($price), 2) ; $f_price = ($f_Price > 0) ? $f_Price = "$".$f_Price; $price_plan .= "

    ".$s_price."

    "; $price_plan .= " ".$text.""; $price_plan .= ""; // initializing global variables for options $GLOBALS["plan-options-count"] = 0; $GLOBALS["plan-options "] = array(); // read the content and execute internal shortcodes do_shortcode($content); // Prepare HTML: options $plan_options = ""; if (is_array($GLOBALS["plan-options"])) ( foreach ($GLOBALS["plan-options"] as $option) ( $plan_options .= $option; ) ) $s_OptionsDiv.= ""; // Prepare the HTML: layout the content $plan_div = $plan_title; ; $plan_div .= $plan_options; // save the received data $i = $GLOBALS["plan-count"] + 1; $GLOBALS["plans"][$i] = $plan_div; "] = $i; // do not output anything return true; ) function option_code ($atts, $content) ( // Prepare HTML $plan_option = ""; $plan_option .= "

    ".do_shortcode($content)."

    "; $plan_option .= ""; // save the received data $i = $GLOBALS["plan-options-count"] + 1; $GLOBALS["plan-options"][$i] = $plan_option; $GLOBALS ["plan-options-count"] = $i; // output nothing return true )

    With this approach, the shortcode will only work when assembled, i.e. if used correctly, in other cases nothing will be displayed on the screen (accordingly, nothing will break).

    Of course, you can still optimize and improve this shortcode, but still, I think I managed to demonstrate the main idea.

    Duplicate shortcodes The problem is this: you need to use the same shortcode inside the shortcode. The most common example in my practice was a shortcode for creating a column. That is, for example, you need to divide the page into 2 parts using columns and divide the first column into 2 more columns.

    Content
    Content

    Unfortunately, such nesting is already too much for WordPress. The layout will fall apart already on the second content. This happens because when you open a shortcode, WordPress immediately looks for the second (closing) part of this shortcode, i.e. in this example, the first column will be closed on the first nested shortcode.

    To solve this problem, unfortunately, there are no other options than simply adding new shortcodes. But there is no point in rewriting functions; you can simply initialize the shortcode to existing functions:

    Add_shortcode("column_half", "column_half_code"); add_shortcode("column_half_inner", "column_half_code"); function column_half_code ($atts, $content) ( return "".do_shortcode($content).""; ) In this case, the original syntax becomes: Content Content Content

    Conclusion In this article, I looked at the most common problems that I myself have ever encountered. If you have something to add, correct, or suggest your own solution to this or that problem, do not hesitate to write in the comments to this article.
  • Go to Control Panel ▸ Plugins ▸ Add New;
  • Search Shortcodes Ultimate;
  • Click Install, then Activate.
  • Manual installation
  • Download the plugin as a zip archive;
  • Unpack the downloaded archive and upload the shortcodes-ultimate folder to the /wp-content/plugins/ folder (in the end, the path to the plugin folder should be /wp-content/plugins/shortcodes-ultimate/**);
  • Go to Console ▸ Plugins and activate the plugin.
  • Frequently asked questions How the plugin works Shortcodes do not work. Why? The Insert Shortcode button does not work. Why? Can I remove default shortcodes?

    Yes, you can remove default shortcodes using ‘su/data/shortcodes’ filter. Tutorial: How to remove default shortcodes.

    Can I create my own shortcodes?

    Yes, you can create custom shortcodes using ‘su/data/shortcodes’ filter. Tutorial: How to add custom shortcodes.
    Alternatively, you can use Shortcode Creator add-on .

    Can I use shortcodes in theme files? Will the plugin work with my theme?

    Yes! Shortcodes Ultimate is built to work with any theme, but your theme must have the basics such as the 'wp_head' and 'wp_footer' template tags. Sometimes, a plugin may not work properly due to javascript errors caused by other plugins or the theme.

    Where can I report a bug? Where can I get support or chat with other users?

    If you have any difficulties, you can ask for help on the plugin's official forum.
    For help with premium add-ons, please open a new ticket.

    Reviews

    Many of the codes are now redundant with the standard Gutenberg blocks (heading, divider, quote, pullquote, columns, list, many embeds , and others), but there are some still useful to me, and I"ve had no problems. Thanks for the plugin.

    Participants and developers

    Shortcodes Ultimate is an open source project. The following contributors contributed to the development of the plugin:

    Members Changelog 5.5.0

    What's new

    • New option outline for which allows disabling carousel outline (when it gets focus)
    • New option mobile for which allows disabling tab stacking on mobile devices
    • New option texttrack for which allows enabling video subtitles

    Improvements

    • is now always served through https
    • : improved compatibility with various themes
    • : the gallery can now be loaded through AJAX
    • :improved keyboard navigation
    • Insert Shortcode window will now remain open if the dark background clicked
    • Fixed issue with empty image captions (with whitespace)
    • Fixed issue where images weren’t shown when crop is disabled
    5.4.1

    This update fix various issues related to version 5.4.0

    5.4.0

    What's new

    • New shortcode which will take place of and in the future
    • New attribute download for the shortcode (allows immediate downloading of specified URL in a button)
    • New attribute id for the shortcode (allows linking to a heading)
    • New attribute wrapper for the shortcode (allows disabling of the div wrapper)
    • New attribute mobile for the shortcode (allows disabling lightbox on mobile devices)

    Improvements

    • Custom CSS code field now has syntax highlighting
    • with target=blank will now be displayed with rel="noopener noreferrer
    • Slightly improved appearance of the Available shortcodes screen
    • Vertical tabs are now aligned with CSS flexbox, not JS
    • Added shortcodes.full.css file to reference the default shortcode styles
    • Minor improvements to , , and shortcodes
    • Fixed issue with on iOS
    • Removed !important from column styles for mobile devices

    Security

    • and are now allow only templates from active theme or plugin folders
    • Error messages are now displayed only to allowed users (user must have required capability)
    5.3.0

    What's new

    • New shortcode for displaying CSV tables
    • New option indent for the shortcode, which allows adjusting of list indentation
    • Fixed inaccessible fields in media modal (while inserting Gallery/Slider/Carousel shortcodes)
    • Fixed close icon class name in the presets menu
    • Fixed issue with unwanted content inside single shortcodes
    • Fixed warning when non-numeric value is used for the button size attribute
    • Min-width for responsive tables is set to 100%
    5.2.0

    Improvements

    • Tabs and accordions/spoilers are now accessible from the keyboard
    • Tabs now work better with nested sliders/carousels
    • Improved stability of some responsive elements like Google Maps
    • Descriptions of YouTube functionality and its advanced settings are now clearer
    • New Required User Permissions option that allows you to enable the Insert Shortcode button for non-admin users
    • New option Include shortcodes in which allows you to include shortcodes in text widgets and category descriptions
    • The youtube_advanced showinfo parameter has been deprecated and has been removed from the plugin. Why?
    • Font Awesome replaced by Fork Awesome. The Font Awesome stylesheet (v 4.7.0) will be completely removed in the next update. All icons now use the sui CSS class instead of fa
    5.1.1
    • Gutenbrg compatibility is enabled by default
    5.1.0

    What's new

    • Added compatibility with Gutenberg editor. .
    • Fixed icon appearance of the shortcode
    5.0.8
    • Fixed Live Preview, wasn’t representing changed settings
    • Fixed , now it works again at top-level pages
    • Various code improvements
    • New filters for gallery, slider, and carousel
    • Returned su_cmpt() and su_compatibility_mode_prefix() utils
    5.0.7

    Security update

    • Fixed shortcode generator preview vulnerability. Description.
    5.0.6
    • Added missing images for su_audio , su_video , su_slider and su_carousel
    • Fixed Fatal error: Call to a member function get_page_permastruct() on null in link-template.php:357
    • Added missing su_get_icon() utility function
    • Added missing su_scattr() utility function
    • Added missing su_do_shortcode() utility function
    5.0.5

    Improvements

    • Improved compatibility with fitvid.js;
    • Improved appearance of the Show more and Show less links of the su_expand shortcode;
    • The new option mute for su_youtube and su_youtube_advanced shortcodes;
    • Support for the youtube-nocookie.com domain in su_youtube and su_youtube_advanced shortcodes;
    • Support for nested shortcodes in the title attribute of the su_button shortcode;
    • The new option dnt (do not track) for the su_vimeo shortcode, learn more ;
    • The new option mute for the su_vimeo shortcode;
    • https support for the su_dailymotion shortcode;
    • New options title and rel for the su_permalink shortcode;
    • The su_post shortcode now support slugs in the post_id attribute;
    • The new option zoom for su_gmap .
    • Shortcodes styles merged into a single stylesheet.
    • Fixed warning in su_siblings shortcode.
    5.0.4
    • Fixed: added missing FontAwesome icons
    • Fixed: is_plugin_active call removed on frontend
    • Fixed: nested shortcodes
    • Fixed: issue with spoiler loaded through ajax
    • Fixed: shortcode logic
    5.0.3
    • Changed: Inview.js library replaced with jQuery.Inview
    • Fixed: caching issue with
    • Fixed: PHP warning in shortcode when specified template does not exist
    • Updated: Font Awesome to version 4.7.0
    • Added: responsive styles for
    5.0.2
    • Fixed: an issue where RTL stylesheet won’t displayed if custom CSS field is empty
    • Fixed: icon sizes at ‘Dashboard – Available Shortcodes’ page
    • Fixed: shortcode now works when loaded through AJAX
    • Fixed: border-radius on shortcode
    • Fixed: compatibility with ‘Plugin Organizer’
    • Updated: OwlCarousel jQuery plugin
    • Added: new attribute ‘responsive’ for table shortcode:
    • Added: new attribute ‘playsinline’ for youtube _advanced shortcode:
    5.0.1
    • Fixed: serious security vulnerability, which allows attacker to run any code using filter in meta, post, or user shortcodes. Thanks to Robert L Mathews.
    • Fixed: changed admin menu position (it was replacing ‘Settings’ menu on some installations)
    • Fixed: shortcodes prefix field now accepts special characters
    • Fixed: old bug when unwanted code parts were added with shortcode
    • Fixed: bug, where backslashes were removed from custom CSS code
    • Added: new attribute ‘ID’ for shortcode
    • Added: new filter ‘su/slides_query’, which can be used to modify posts query for slider, carousel and custom_gallery shortcodes
    • Added: new filter ‘su/assets/custom_css/template’ to filter custom css output
    • Minor fixes
    5.0.0
    • Read the blog post to learn more about this update.
    • New project website getshortcodes.com
    • New documentation getshortcodes.com/docs
    • Added: Dashboard page 'Available shortcodes'
    • Removed: Control Panel 'Examples' page
    • Removed: ‘Crib Sheet’ control panel page
    • Fixed: shortcode (now using SimplePie)
    • Changed default content for shortcodes, and
    • Fixed: The shortcode now works when the user is not logged in
    • Changed: Security improvements. Now the plugin removes everything HTML tags from custom css code
    • Minor improvements and fixes
    4.10.2
    • Improved: PHP7 compatibility (shortcodes and )
    • Fixed: markup and (missing spaces between attributes)
    • Removed: user verification in shortcode
    4.10.1
    • Fixed: lightbox javascript
    4.10.0
    • Fixed: vulnerability on the page in the 'Examples' control panel (unsafe call to file_get_contents() in inc/core/tools.php:774)
    • Fixed: Added access level check in shortcode. Pull request #20.
    • Added: PHP7 compatibility. Checked with php7cc and PHP Compatibility Checker. Pull request #45.
    • Added: https support for . Pull request #40.
    • Added: https support for. Pull request #39.
    4.9.9
    • Fixed: Rating popup on Plugins page
    • Minor improvements, fixes
    4.9.8.1
    • Fixed: WordPress 4.3+ compatibility
    • Added: Lightbox titles for slider, carousel and gallery. Commit from Valentino Pistis
    • Changed: text domain from 'su' to 'shortcodes-ultimate'
    4.9.8
    • Added: Spanish localization
    • Updated: FontAwesome updated to 4.4.0
    • Fixed: line-height in button shortcode on narrow screens
    • Fixed: nested spoilers
    4.9.7
    • Added: now supports https
    • Fixed: calculating the width of carousel elements
    • Added: new attribute for , forum topic
    • Fixed: stripslashes for content
    4.9.6
    • Fix: Small fix for disabled custom css
    4.9.5
    • Added: Basic RTL support
    • Fixed: JS error (blocking shortcode settings) on WordPress 3.5
    • Fixed: minor improvement for slider/gallery posts query. Forum topic
    • Fixed: minor improvements on , fixed markup bug for long values ​​in cite, thanks to Anatoly Yumashev
    • Added: completely redesigned search feature. Now it’s like a Google, but for shortcodes =)
    • Added: Insert shortcode popup window hotkey. So now, you can open Insert shortcode window, choose shortcode and insert it with just one click
    • Updated: new demo video at plugin settings page (About tab)
    • Updated: new plugin’s banner and icon
    4.9.4
    • Updated: Japanese translation
    • Updated: Polish translation
    • Fixed: minor fixes in shortcode settings window
    • Fixed: vulnerability in Examples preview. Added wp_nonce check. Thanks to Kacper Szurek
    • Fixed: vulnerability at Custom CSS page. Added wp_nonce check. Thanks to Ryan Satterfield
    • Removed: skins directory creation
    4.9.3
    • Updated: owl-carousel.js
    • Added: minor UI improvements
    • Fixed: ssl issue (thanks to Adam)
    • Fixed: multiple errors on cheatsheet page
    • Fixed: errors when updating user profile, forum topic
    • Removed: global skin option at settings page
    4.9.2
    • Added: minor improvements for tabs/spoilers anchors (auto-removing extra # characters)
    • Added: compatibility with TablePress’s advanced editor
    • Added: new option for tabs. You can now link any tab to any webpage
    • Added: new option wmode for , forum topic
    • Added: new shortcode
    • Fixed: lightbox and galleries scripts, forum topic
    • Fixed: removed global function $.support.transition, forum topic
    • Updated: Russian language
    • Updated: Japanese language
    • Updated: FontAwesome, 4.1.0
    • Updated: Magnific Popup, 0.9.9
    4.9.1
    • Added: New shortcode
    • Added: New shortcode
    • Added: New options for
    • Added: New option rel for
    • Fixed: animations script has been changed. CSS animations will be skipped in non-supported browsers, forum topic
    • Fixed: templates/default-loop.php — removed extra n character in comments number, forum topic
    • Fixed: large DB query on sites with many users, forum topic
    4.9.0
    • New shortcode allows you to generate colorful and responsive QR codes!
    • Improved shortcode search. Just type shortcode name and hit Enter
    • Updated Animate.css (animations library)
    • Updated ACE editor (custom CSS editor)
    • Responsive CSS for
    • Highly decreased plugin size
    4.8
    • Minor UI fixes (compatibility with page builders)
    • Czech translation by Punc00
    • Added: full compatibility with multiple editors on same page — fourm topic
    • Fixed: extra CSS class for – forum topic
    • Fixed: Swiper click event, Swiper has been updated – forum topic
    • Fixed: 's content is now hidden until the page is loaded
    • New dashboard page: Cheatsheet
    • Minor fix, for hidden spoiler content
    • Updated Japanese translation
    4.7
    • Long-awaited feature: slider, carousel and custom_gallery links can now be open with lightbox
    • Long-awaited feature: custom links in slider, carousel and custom_gallery shortcodes
    • Fixed https bug in FontAwesome enqueue
    • Fixed bug with multiple users queries - forum topic
    • New Ghost style for
    • Minor UI fixes (for WP 3.9+)
    • New shortcode
    • YouTube (advanced) can now use https protocol
    • Additional help notes in Shortcode Generator
    • Slovak language
    4.6
    • Auto-save for shortcodes settings. Now you don’t need to adjust it again and again
    • New premium add-on - Extra Shortcodes
    • Minor UX improvements
    • New locale - VI
    • Fixed bug with tax_term IDs in shortcode, forum topic
    • Fixed bug with service title, forum topic
    • Fixed bug with animations names in shortcode generator, forum topic
    • Updated settings pages capabilities
    • Added some hooks
    • Updated .pot file
    • Font-Awesome is now loaded from bootstrap CDN. Technical details.
    • New review — Shortcodes Ultimate: Ultimate your written content
    • New review -
    • New review – Show Me the Shortcode + Video
    • Updated readme.txt
    • SiteOrigin page builder - it's free!
    • Compatibility with recent version of Visual Composer
    • Compatibility with recent version of Elegant Themes page builder
    4.5
    • Updated some examples
    • Removed import functions. Old versions of plugin (like 3.9.5) is not supported anymore
    • Updated custom formatting filter
    • Updated Japanese translation
    • Added NL translation
    • Minor fixes
    • Presets. Now you need to adjust the shortcodes only once
    • New WP filters for shortcodes attributes
    • New option for compatibility mode prefix
    • Compatibility mode is now enabled by default
    • Font-awesome updated to 4.0.3
    • New shortcode
    • New shortcode
    • New shortcode
    • New attribute limit for , and
    • Minor UX improvements
    4.4
    • IMPORTANT: new galleries mechanism. Your created galleries will work but will not be visible in the admin panel. Now, you’re able to create galleries right in “Insert shortcode” window. Also, you can now create galleries from posts, categories or even custom taxonomies.
    • Removed all default links (default youtube videos)
    • Updated admin page framework Sunrise
    • Minor admin panel fixes
    • Fixed file_get_contents() (disabled http wrappers) issue at the examples page
    • Added classes Shortcodes_Ultimate_Generator, Shortcodes_Ultimate_Shortcodes and Shortcodes_Ultimate_Data
    • Removed unused classes MediaUpload and ImageMeta
    • New shortcode
    • New shortcode
    • New shortcode
    • New shortcode
    • New admin page - Examples
    • New admin page - Add-ons
    • Font Awesome updated to version 4
    • New attr
    • Fixed issue with date format in
    • New slider control for shortcode generator
    • Small fixes
    4.3
    • New text-shadow picker for
    • Anchor navigation for spoilers and tabs - forum topic
    • Small fixes
    • IMPORTANT: removed old list icons. These icons replaced with new font-awesome icons
    • New icon picker for , and
    • Media manager is now working on widgets page
    • Shortcodes inside
    • Fixed fatal error in
    • New media manager added for galleries manager
    • New media manager added to the file fields in Generator
    • Z-index for visual composer - forum topic
    • New attr for onclick
    • Fixed settings page
    • Fixed player
    4.2
    • Font Awesome icons (in Generator)
    • Fixed warning in footer – forum topic
    • Removed warning at settings page – forum topic
    • Removed another warning (undefined index) – forum topic
    • Changed syntax for shortcodes inside of attributes — documentation
    • Small performance improvemets
    • Added font-awesome.css. Will be completely included in closest versions
    • Added default taxonomy value for
    • Added default post_type value for
    • Added ability to use shortcodes inside of attributes
    • Translated into Japanese
    • Fixed
    • Fixed media query for
    • Added new attr
    • Improved js code for spoilers and tabs
    • Improved js code for generator
    • Added pot file
    • Fixed css code
    • Updated and js code
    • Fixed
    • Updated Greek translation
    • Fixed
    • Disabled wp_footer check
    • Fixed wp_footer notice, again
    • Small fix for tooltips
    • Fixed wp_footer notice
    • Greek translation
    • Added compatibility mode prefix for spoilers inside of accordion
    • Updated qTip plugin
    • Added shortcode
    • Added new attribute. . Now, any tab can be disabled. Forum topic
    • Added scrolling. Forum topic
    • Added wp_footer check. User will be noticed if current theme doesn’t include wp_footer
    • Updated caching mechanism. Cache will be reset when you add or remove terms
    • Updated galleries mechanism. Removed some conflicts
    • Fixed spoiler background for style=fancy
    • Additional access check option for Shortcode Generator
    4.1
    • New screencast - How to create an image gallery
    • New attribute "center" for . Buttons can now be centered on the page
    • Updated. Now it can contain other shortcodes
    • Updated caching mechanism. Cache will now be reset on plugin activation
    • Fixed many PHP warnings when debug mode enabled
    • Added backward compatibility for . Shortcode has basic support for youtube and vimeo videos
    • Fixed bug with hidden single
    • Added attribute "active" for tabs container. This option allows you to select tab number that will be open by default
    • Fixd button style 3D
    • Added backward compatibility for
    • Fixed margins
    • Added backward compatibility for . Now it accepts style=3 and vertical attributes
    • Added backward compatibility for . Now it accepts 0 and 1 as values ​​for attribute open. Also, it now accepts style attribute (1, 2, default, fancy, simple)
    • Added custom CSS import from previous versions. Styles will be imported automatically and prepended to the existing CSS-code
    • Added backward compatibility for . Now it accepts bg and background attributes
    • Added backward compatibility for . Now it accepts style and type attributes
    • Added backward compatibility for . Now it accepts 1, 2 and 3 as style values
    • Added backward compatibility for . Now it accepts p and id attributes
    • Added backward compatibility for . Need to test
    • Added backward compatibility for . Now it accepts style and login attributes
    • Added backward compatibility for . Now it accepts color and box_color attributes
    • Added backward compatibility for . Now it accepts color and note_color attributes
    • Added backward compatibility for . Now it accepts attribute last and can not be wrapped with
    • Added backward compatibility for . Now it accepts file and url attributes
    4.0
    • Plugin based on Sunrise Plugin Framework
    • GitHub repo. Now you can easily fork and modify best plugin in the world (:
    • Brand new Shortcode Generator, demo video
    • Completely reorganized code. Added and removed some shortcodes
    • For security maniacs: timthumb.php replaced by native WordPress mechanism
    • For speed-up maniacs: completely rewritten assets mechanism. Now css and js files included on page depends on used shortcodes
    • Added new shortcode. This is awesome and flexible mechanism to display your content in many different ways
    • Now you can create your own custom skins for shortcodes
    • Columns, google maps, google document viewer, youtube player, vimeo player and custom audio player is now fully responsive
    3.9
    • More screencasts
    • Special widget for shortcodes
    • Small fixes
    • Hebrew translation
    • Partners section on settings page
    • Generator select improved with Chosen
    • Farbtastic color picker
    3.8 (security release)
    • 2 new translations (Sk, Lt)
    • Donate button in control panel
    • Updated timthumb.php (version 2.8.10)
    • Added 2 useful screencasts
    3.7
    • Complete support for nested shortcodes. Check the FAQ page.
    • New shortcode
    • New style for buttons
    • Fixed images ordering for , and
    3.6
    • Descriptions for
    • Custom options for jwPlayer
    • Fixed size option for sliders and gallery
    3.5
    • New shortcode for multiple spoilers
    • Improved spoiler shortcode (check settings page)
    • Multiple tabs bugfix
    • Authors can also use shortcode generator
    • Nested shortcodes: spoiler, column, tabs, box, note
    3.4
    • Belarusian translation
    • New shortcode
    3.3
    • Changed: and (see docs in console)
    • New shortcode:
    • New parameter:
    • New shortcode: guests
    • German translation
    3.0
    • Button for WYSIWIG editor (search it near Upload/Insert buttons)
    • New shortcode: private (private notes for editors)
    • Patched and secure timthumb.php
    2.7
    • French translation
    • Fixed for work with new jQuery 1.6 in WP 3.2
    2.5
    • Theme integration
    2.4
    • New shortcode: jcarousel
    2.3
    • New admin page: Demo
    2.2
    • New shortcode: document
    • New shortcode: members
    • New shortcode: feed
    • New attr: link="caption" for
    • New attr:p for
    • New tabs style (style=3)
    2.1
    • New option: disable any script
    • New option: disable any stylesheet
    • New attribute for column shortcode - style
    • New attribute for spoiler shortcode - style
    2.0
    • New shortcode: menu
    • New shortcode: subpages
    • New shortcode: siblings
    • Some admin fixes
    • New button attribute - class
    • New button attribute - target
    • Different tabs styles (1 old + 1 new)
    1.9
    • New shortcode: permalink
    • New shortcode: bloginfo
    1.8
    • Some small additions
    • Ajax admin page
    • No-js compatibility
    • Multiple tabs support
    1.7
    • Improved settings page design
    • Added shortcode nivo_slider
    • Added shortcode photoshop
    1.6
    • New admin panel
    • Custom CSS editor with syntax hughlight
    • Small fixes
    • Added form to support the project
    1.5
    • Added "Compatibility Mode" setting
    • Added new button styles
    • Added new list styles
    • Added new media shortcode
    • Added new table shortcode
    1.4
    • Added shortcode "Beautiful link"
    1.3
    • Some fixes
    1.2
    • Localization support

    Close