這個外掛並未在最新的 3 個 WordPress 主要版本上進行測試。開發者可能不再對這個外掛進行維護或提供技術支援,並可能會與更新版本的 WordPress 產生使用上的相容性問題。

Shortcode Callback

外掛說明

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.

安裝方式

  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.

常見問題集

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;
        }
    }
}

使用者評論

2016 年 12 月 29 日
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().
閱讀全部 1 則使用者評論

參與者及開發者

以下人員參與了開源軟體〈Shortcode Callback〉的開發相關工作。

參與者

將〈Shortcode Callback〉外掛本地化為台灣繁體中文版

對開發相關資訊感興趣?

任何人均可瀏覽程式碼、查看 SVN 存放庫,或透過 RSS 訂閱開發記錄

變更記錄

1.0.0

  • Initial release