This plugin hasn’t been tested with the latest 3 major releases of WordPress. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress.

Shortcode Callback

Description

The Shortcode Callback plugin allows you to use a [callback] shortcode to execute arbitrary PHP code wherever the shortcode is used.

Usage

Execute someFunction() and insert whatever it returns with the following shortcode:
[callback function=»someFunction»]

Example shortcode to include a PHP file (the path is relative to WordPress’ ABSPATH), then insert the results of someFunction() where you used the shortcode:
[callback include=»custom/filetoinclude.php» function=»someFunction»]

Shortcode example that includes a PHP file (the path is relative to WordPress’ ABSPATH), then passes a paramter to someFunction() and returns the results where you used the shortcode:
[callback function=»someFunction» include=»custom/filetoinclude.php» param=»something»]

The format to call a class/method with the shortcode is exactly the same as above, except you specify the class::method in the «function» attribute of the shortcode.
[callback function=»someClass::someFunction» include=»custom/filetoinclude.php» param=»something»]

There is an example (with PHP code) over here.

Installation

  1. Upload shortcode-callback folder to the /wp-content/plugins/ directory.
  2. Activate the Shortcode Callback plugin through the ‘Plugins’ menu in the WordPress admin area.

FAQ

Do you have an example of where the Shortcode Callback plugin is used?

I built this plugin primarily because I needed a way to inject the «Daily Yield» and «Total Yield» numbers to my solar power chart page.

The shortcode being used:

[callback function=»DigitalPointElectricity::total_output» param=»daily» include=»custom/Electricity.php»]

The `custom/DigitalPointElectricity.php` file being called by the shortcode:

<?php

class DigitalPointElectricity
{
    public static function total_output($timeframe)
    {
        $totals = $GLOBALS['memcache']->get('shawnhogan-pv-total');

        if ($timeframe == 'total')
        {
            return $totals->Items[2]->TotalYield;
        }
        elseif ($timeframe == 'daily')
        {
            return $totals->Items[1]->DailyYield;
        }
    }
}

Reviews

29 de diciembre de 2016
This is a really good way of adding some custom code without having to create a new WP plugin. Simply add a php file to your wordpress and display the result using a shortcode. Just remember: Don’t use echo or print in your functions or the output will be displayed above your post and not where your shortcode is. To display contents correctly always return them as shown in the examples. To render template files with lots of html: ob_start() require 'my_custom_template.php'; $contents = ob_get_contents(); ob_end_clean(); The resulting output will be stored in the $contents variable thanks to the output buffer. The template file can contain php which will be interpreted like every file that is being included using require().
Read all 1 review

Contributors & Developers

“Shortcode Callback” is open source software. The following people have contributed to this plugin.

Contributors

Translate “Shortcode Callback” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

1.0.0

  • Initial release