This plugin hasn’t been updated in over 2 years. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress.

Shortcodes Generator

Description

Adding shortcodes to the Visual Editor can be a pain in the buttocks. Not anymore.
Now, you can add shortcodes and a button to the editor as simply as using an
array and this plugin. How neat is that?

You can check out more details on how to use the plugin, please visit the plugin site.

Note: This plugin requires at LEAST PHP 5.3. If you’re not sure what version of PHP you’re using, consult your host.

Credits

Some icons by Yusuke Kamiyamane. All rights reserved. Licensed under a Creative Commons Attribution 3.0 License.

FAQ

So how do I add the shortcodes, anyway?

Well, after you’ve moved the shortcodes folder to your theme, open up
shortcodes/array.php. The simplest one you can make would look like this:

$shortcodes['button'] = array(
    'shortcode' => 'button'
);

That would create a shortcode that looks like this: [button]

Then, for every shortcode you wish to add, just repeat
$shortcodes[‘shortcode’] with the details filled in!

The template is as follows:

$shortcodes['name'] = array(
    'shortcode' => '',
    'function' => '',
    'tag'   => '',
    'selectable' => 0
    'atts' => array(
        'name', 'name2'
    ),
    'children'=> array(
        'child' => array(
            'shortcode' => '',
            'function' => '',
            'tag'   => '',
            'selectable' => 0
            'atts' => array(
                  'name', 'name2'
            ),
        ),
    )
);
This seems too simple. What if I want more control?

To use a specific function along with the short code, all you have to do is pass
‘function’ => ‘function_name’ as one of the paramaters for the array. Here’s
an example:

$shortcodes['button'] = array(
    'shortcode' => 'button',
    'function' => 'cur_button_shortcode',
    'selectable' => 1
    'atts' => array(
        'class', 'color'
    ),
);

The shortcode will now use cur_button_shortcode as the function to run for
the shortcode. The shortcode will look like this:

[button class="" color""][/button]

If you want to define some default parameters, just change atts to this:

'atts' => array(
    'class' => 'small',
    'color' => 'green'
)

It will produce this output:

[button class="small" color"green"][/button]

Want to be able to select text and have the shortcode wrap around it? Just pass
‘selectable’ => 1.

I will eventually add a ThickBox dialogue so that people can have default
selections picked out for them, and actually have more of a UI. But this will
do for now.

Is it possible to embed into themes?

Sure is! To do that, move the plugin file into your theme and include this code
in your functions.php file:

add_action( 'after_setup_theme', 'cur_shortcodes_theme_setup');
function cur_shortcodes_theme_setup(){
    // We're assuming the plugin directory is located in
    // /wp-content/themes/themename/shortcodes-generator/
    define( 'CSG_URI', get_template_directory_uri() . '/shortcodes-generator/' );
    require_once 'shortcodes-generator/cur-shortcodes-generator.php';
    $csg = Cur_Shortcodes_Generator::get_instance();
}

It’ll take care of the rest!

Changelog

1.2.1

  • Added CSG_URI to more easily embed plugin into themes

1.2

  • BREAKING CHANGE: Changed params to atts in shortcode definition array
  • Added cur_shortcode_atts so as to reduce repitition of shortcode attribute definitions. There was too much repition across array.php and functions.php
  • Updated plugin to singleton pattern. Use Cur_Shortcodes_Generator::get_instance() to retreive instance of the class.
  • Updated example array and functions

1.1.1

  • fixed error where functions weren’t required in the correct order

1.1

  • editor_plugin.js is now stored in the theme’s shortcodes directory.

1.0.2

  • Fixed error where child shortcodes weren’t being generated correctly.

1.0.1

  • Fixed error where functions weren’t being included.
  • Fixed issue where $tags wasn’t being unset.

1.0

  • Initial Release

Contributors & Developers

This is open source software. The following people have contributed to this plugin.

Contributors

Browse the code