Introducing A New Resource For WordPress Developers is a brand new project created by Christopher Sanford in the alpha stage of development. It’s an index of all the available WordPress Hooks and API calls stretching back to WordPress 1.5. The site is a result of a pet project he’s been working on for about a year. It started out as a plugin he installed to index his local WordPress projects. Sanford explains why he created the site:

Most reference sites contain only subsets of hooks (if any), and unless the plugin/theme is premium, they usually contain little to no documentation regarding their API. I was tired of the ineffective “find in project” searches within my IDE. So, one day after questioning my productivity and lack of resources for what I needed to do, I started writing the initial parser/indexer as just a locally installed plugin.

The front page features a slider allowing you to switch between versions of WordPress. When one is selected, the site displays how many of the following are in that version.

  • Hooks (Action/Filter)
  • Actions
  • Filters
  • Classes
  • Constants
  • Functions
  • Shortcodes

While the total amount of each are correctly displayed, Sandford has limited the results to 250 until it can be determined the site will perform well under load. If the benchmarks are successful, he’ll make the entire index available.

WordPress Hook and API Index
WordPress Hook and API Index

WPSeek performs a similar role as a WordPress search engine for developers. Sanford says the metadata he has indexed sets it apart from other  search engines:

I’m storing all the information related to each “object.” For instance, what file and line(s) the function is defined in/on, what are the function parameters, what other objects exist within its source code (hooks, classes, constants etc), the original source, or snippet, both with/without syntax highlighting, documentation blocks, etc.  All of this has been generated directly from the source code, not screen-scraped. By having this metadata at my disposal, it makes adding features, or overhauling the layouts extremely simple.

Indexed Metadata
Indexed Metadata

He wants users to see the holistic view of a given topic. For example, showing all classes existing in the admin area related to FTP as shown in the following screenshot. This view helps developers to see the interconnected parts that make up WordPress.

Holistic View Of Classes
Holistic View Of Classes

While isn’t easy to use on a mobile device, Sanford says he has, “Already provisioned bootstrap. It’s just a matter of time and necessity to fully implement.” The interface uses a combination of colors and numbers to display relationships between data. The UI is what works for Sanford but he realizes it may not be optimal. The goal was to have a simple and clean layout but he’s looking for UI/UX advice.

If developers are going to use, the content has to be accurate. According to Sanford, “90% of the development time was consumed with ensuring the accuracy of the parser.” He admits it’s not perfect but is accurate enough to develop against. Since WordPress is updated far less frequently than plugins and themes, the content is updated in an ad-hoc fashion. If the site becomes a useful tool for developers, he plans on automating the manual processes for near real-time updates.

Your Feedback and Ideas Are Needed

Based on the feedback and whether or not developers find the site useful will determine whether Sanford devotes more time to the project. He already has a lot of ideas in mind to make it a true resource for WordPress developers, regardless of skill level. One of the features supports but is not available to the public is the inclusion of plugin and theme data. The content has been indexed but it’s about three million records. A lot of benchmarking and fine-tuning will take place before the data is added to the search engine.

Sanford is looking for feedback on all facets of the site. Whether it’s design, implementation, or accuracy of data, please share it in the comments. He’ll be watching the conversation closely and will answer any questions you have.


8 responses to “Introducing A New Resource For WordPress Developers”

  1. Wow, ambitious project. The design is quite pleasing too. It was kind of interesting watching the filter/hook counts go up with each release when you use the slider. It would be cool to get an overview of all the new filters/action hooks per release.

    I can see this working nicely for plugins/theme authors who want to have a nice & automated index of their API.

    • I actually prefer to see duplicated efforts at times. Sometimes folks just have a vision of what they want to do and trying to work with others can make it harder for that vision to become a reality. This is especially true when dealing with the official project where you might have 100 different people with 100 different ideas about what needs to be done.

      There are also benefits to having multiple, related projects. For one, you benefit from having competition. If you want to be the go-to resource, you should be better than everyone else. It provides a way for different types of users to go to the site that they prefer. It makes each project stronger because each can learn from the other.


Subscribe Via Email

Enter your email address to subscribe to this blog and receive notifications of new posts by email.