• Skip to main content
  • Skip to primary sidebar
  • Skip to footer

[oik] plugins.com

WordPress plugins and themes

  • About
    • lazy shortcodes
    • smart shortcodes
    • oik base plugin
      • oik – donate
      • oik PayPal buttons
      • oik installation
      • oik Button Shortcode button
      • oik changelog
      • oik FAQ
      • oik plugins on SVN
      • oik plugins on GitHub
  • Plugins
    • oik base plugin
    • FREE oik plugins
    • WordPress plugins
    • Premium oik plugins
    • Bespoke oik plugins
  • Shortcodes
    • Shortcode examples
  • Blocks
    • Block examples
  • APIs
    • ALL action and filter hooks
  • Blog
  • #
  • &
  • A
  • B
  • C
  • D
  • E
  • F
  • G
  • H
  • I
  • J
  • L
  • M
  • N
  • O
  • P
  • Q
  • R
  • S
  • T
  • U
  • V
  • W
  • [

Example: demonstrating the [bw_api] shortcode

At Human Made‘s pre WordCamp UK retreat this week at Coniston Water, Herb Miller ( bobbing wide / oik-plugins ) asked Joe Hoyle ( Human Made ) to write some simple PHP to demonstrate the [bw_api] shortcode, from the oik-shortcodes plugin, to create dynamic API documentation of some code.

Joes’s example – a PHP API

ob_start();
 

Herb’s example – an oik base API

$id = bw_array_get( $atts, "id", null );
 

Technical notes

When asked how it worked I simply said “magic”. Actually, it uses a standard PHP function to parse the code, token_get_all(), then some other functions to process these. If you can read PHP code and can click on links then you can find out for yourself. Just follow through the APIs. The really hard work is in the loading of all the APIs for each of the plugins; a batch process that’s run twice for each new plugin version. It’s run twice in order to be able to produce the “called by” list.

See also

Shortcodes

[bw_api]

APIs

  • bw_array_get() – Return the array[index] or array->index (for an object) or a default value if not set
  • oikai_apiref() – Implement the [bw_api] shortcode
  • oikai_handle_token_T_STRING() – Handle a T_STRING token

Plugins

oik-plugins oik-themes oik-shortcodes oik

Further reading

Example: demonstrating the [bw_api] shortcode

Published: July 10, 2013 | Last updated: December 4, 2020

Filed Under: bw_api, Example, News, oik-shortcodes, plugins, shortcode

Primary Sidebar

Information

Component:

Recent plugin updates

oik-fields v1.55.0
oik-fields v1.55.0 Upgrade to oik-fields v1.55.0 for accessibility improvements to the featured image virtual field. ...
oik-css v2.4.0
oik-css v2.4.0 Upgrade to oik-css v2.4.0 for accessibility improvements for Low Color Contrast errors. ...
oik-unloader v0.4.0
oik-unloader v0.4.0 Update to oik-unloader v0.4.0 for improved accessibility of the active-plugins shortcode. Tested with WordPress 6.9 and PHP 8.4 ...
oik-nivo-slider v1.18.0
oik-nivo-slider v1.18.0 Upgrade to oik-nivo-slider v1.18.0 for improved accessibility (a11y ). Tested with WordPress 6.9 and PHP 8.4 ...
oik-privacy-policy v1.4.11
oik-privacy-policy v1.4.11 oik-privacy-policy v1.4.11 contains another minor security fix; to sanitize the title of any new privacy policy page you generate.  ...

Footer

Plugins

  • All Plugins
  • oik base plugin
  • FREE oik plugins
  • WordPress plugins
  • Premium oik plugins

Themes

  • FREE themes
  • Bespoke themes
  • Premium themes

Blocks

  • All Blocks
  • Block examples
  • About Blocks

Shortcodes

  • All Shortcodes
  • Shortcode examples
  • About Shortcodes

Reference

  • About APIs
  • All APIs
  • All Classes
  • All Files
  • All Hooks

Support

  • Contact
  • Cookies policy
  • Get API key
  • Privacy
  • Request support
  • Sitemap
  • Stay informed
  • Terms and Conditions
oik-plugins
Email: oikplug@oik-plugins.com

Weight shipping plugins

Find out which cart weight shipping plugin you need for your WooCommerce site.
Which cart weight based plugin do I need?

Site:  www.oik-plugins.com
© Copyright oik-plugins 2011-2026. All rights reserved.


Website designed and developed by Herb Miller of Bobbing Wide
Proudly powered by WordPress and oik-plugins

WordPress version: 6.9.4

Gutenberg version: 22.7.0

PHP version: 8.2.30