[oik] plugins.com

WordPress plugins and themes

  • Home
  • 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
  • [

Press Release: WP-a2z – The Dynamic API Reference for WordPress, plugins and themes

This article discusses WP-a2z: Dynamic API Reference for WordPress, plugins and themes. I thought you might be interested in knowing about another solution to documenting the WordPress API reference. I’ve been following the progress of developer.wordpress.org and WP-Parser with some interest as I’ve been working on a parallel project: WP-a2z – the Dyamic API Reference. Now, on the eve of WCSF, and the upcoming Community Summit, I thought I’d write up some of my thoughts about what the complete API reference for WordPress should consist of. I thought I knew the functionality required, but it wasn’t until I built my own API reference for the WordPress core that I discovered what I actually need. I imagine there are quite a few developers who are looking for something truly amazing but haven’t yet stated their requirements. If you’re one of them perhaps you’d care to take a look at WP-a2z.org and let me know if I’m on the right track.

What is the WordPress Dynamic API Reference?

  • WP-a2z.org is an API reference for WordPress.
  • It contains lots of information about the WordPress source code.
  • It’s dynamic; it reads, parses and displays the latest source code.
  • It’s also a WordPress Multisite website, with sub-domains for selected plugins and themes.

What does it do?

  • It displays the inline documentation and PHP source for WordPress.
  • It allows you to navigate through the files, classes, APIs and hooks.
  • More often than not you can do this just by clicking on links.
  • Other times you’ll have to perform a search.

What’s it for?

  • It’s supposed to help you understand how WordPress works
  • and/or how a plugin works
  • and/or how a theme works
  • or a combination of the above.

How does WP-a2z achieve its aims?

On the original site you wrote
Use this site to navigate your way through WordPress core, discovering APIs and hooks and the files and classes used to implement them. Find out how they are used in WordPress and popular plugins. Discover how you can use them in your own code.
Q. Those are bold statements. Is it as easy as you suggest? A. To be honest? No, it’s not that easy. I think that some parts of the navigation are significantly easier than on developer.wordpress.org. But you still need to refer to the codex.wordpress.org and the source. One of the problems is that there’s just so much information: over 5000 APIs, 1700 action hooks and filters and 225 PHP classes – and that’s just in the WordPress core. It’s a lot easier to discover how smaller stuff, such as Hello Dolly, fits into WordPress than it is for monsters such as jetpack.wp-a2z.org or woocommerce.wp-a2z.org.
Elsewhere in the WP-a2z site you’ll find a FAQ that says that a2z represents the vision…
WP-a2z… The complete reference for the WordPress Application Programming Interface
Q. Is it the complete reference? A. How do you define complete? I suppose it’s everything you already know, plus all the missing bits.

So what’s missing?

The dynamic API reference for the PHP code is just the tip of the iceberg.
  • What about understanding the main paths executed during page load?
    • What is the sequence of action hooks and filters invoked?
    • What files are loaded and what functions are invoked?
    • What database accesses are performed?
  • What percentage of WordPress is now implemented with jQuery/JavaScript? Where’s the API reference for that?
  • What about AJAX or WP-API requests?
  • What about the unit tests?

How have you used WP-a2z?

Q. How do you use the API Reference to find out how to do things? Can you give some examples? A. Tacitly. I started developing the dynamic API reference for my own plugins. There’s an API reference page for each of my plugins; see www.oik-plugins.com/apis. When I’m developing new code, or altering existing code, I use it to find a specific function or general technique I’ve used before. When I’ve found something like the function or hook I’m looking for I use the call tree to see how the routine is invoked, or dive deep into the function to see what it does. Earlier this year I decided that I needed to be able to navigate my way into WordPress core code.  I decided to extend my routines to parse that as well. The code for WP-a2z was developed in parallel with WP-Parser; two approaches with similar aims. Nowadays, when I want to follow what’s going on in someone else’s plugin or theme I build an a2z for it. More often than not, I can find things with a Google search using the a2z keyword. But, I still need to be able to open up and edit the code locally in my favourite editor or IDE.

What’s the future for WP-a2z?

Q. What needs to happen for WP-a2z to become the “go to” resource? A. I don’t believe that WP-a2z, in its current form, is anywhere near the final solution.
It needs to be able to help developers find answers to their questions.
  • It needs to be speedy.
  • It needs to be up to date.
  • It needs to be complete.
  • It needs to be usable.
My hope is that developer.wordpress.org would eventually be able to do the bits that WP-a2z can already do, and it would be extended to support (all) the plugins and themes published on WordPress.org. There needs to be a greater level of integration with the codex, handbooks, programming guides, tutorials, snippets and all the other questions and answers.

So how can we help?

Q. Why work on WP-a2z rather than WP-Parser? A. Both projects have their challenges. WP-Parser is ahead in some areas and WP-a2z is ahead in others. Future development of WP-a2z includes: building where used trees for files, identifying function invocation through callbacks, better support for detecting method invocation and logging the action and filter hook invocation sequence during page load. We also need to do a better job of displaying the carefully crafted content from the docblocks. Q. Can other developers create clones of your site for their own plugins or themes? A. Yes. The source is available on GitHub. But it would probably be easier to create a new sub-domain.

Is there anything else?

Many years ago I was working on a system which could produce an amazing number of error messages. The technical authors responsible for the Messages and Codes manual had little or no capability to extract the information about each error message from the source code. So I set about writing a routine that would automagically create the main content. 95% of the time, extracting the information was fairly easy. But there were cases when it was necessary to partially interpret the code in order to determine values for API parameters. The same is true for WordPress code; there will be cases where either the parsing routine has to be a little smarter or the developer/documentor has to provide the automated tools with better hints. In order to produce the file trees we’ll have to use rule based logic, similar to that in makepot.
The more people there are working on solving these problems the more chance we have of building a complete and usable API reference.
 

Further reading

Why not check out the websites, starting from WP-a2z.org. Or try these links
  • wp-a2z.org/faqs
  • make.wordpress.org/docs
  • github.com/rmmcue/WP-parser
Note: Versions of this article have also been published at herbmiller.me, WP-a2z.org and elsewhere.

Published: October 24, 2014 | Last updated: December 4, 2020

Filed Under: Uncategorized

Information

Component:
  • oik block shortcode and API server

Recent plugin updates

oik-weight-zone-shipping v0.2.13 oik-weight-zone-shipping v0.2.13 has been tested with WooCommerce 10.1.2 and WordPress 6.8.2 ...
SB Children Block v1.3.0 Upgrade to SB Children Block v1.3.0 for support for PHP 8.3 and PHP 8.4  ...
oik v4.15.3 Update to oik v4.15.3 for a couple of security fixes. Tested with WordPress 6.8.2 ...
oik-privacy-policy v1.4.9 Update to oik-privacy-policy v1.4.9 for a security fix. Tested with WordPress 6.8.2 and PHP 8.3 and PHP 8.4 ...
oik-nivo-slider v1.17.0 oik-nivo-slider v1.17.0 introduces the Nivo slider block - oik-nivo-slider/nivo. ...

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-2025. All rights reserved.


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

WordPress version: 6.8.3

Gutenberg version: 21.7.0

PHP version: 8.2.29