Use The Source

Navigating the WordPress Plugin Landscape

16 May 2016 - Mark Hills

Helping PHP developers using Rascal-based code analysis.

@inproceedings{hillsicpc2016,
  author = "Mark Hills",
  title = "Navigating the WordPress Plugin Landscape",
  fulltext = "http://www.cs.ecu.edu/hillsma/publications/icpc-plugins-2016.pdf",
  booktitle = "Proceedings of the 2015 {IEEE} 23rd International Conference on Program
               Comprehension"
  year = 2016,
  location = Austin,
  month = may,
}

WordPress includes a plugin mechanism that allows user-provided code to be executed in response to specific system events and input/output requests. The large number of extension points provided by WordPress makes it challenging for new plugin developers to understand which extension points they should use, while the thousands of existing plugins make it hard to find existing extension point handler implementations for use as examples when creating a new plugin. In this paper, we present a lightweight analysis, supplemented with information mined from source comments and the webpages hosted by WordPress for each plugin, that guides developers to the right extension points and to existing implementations of handlers for these extension points. We also present empirical information about how plugins are used in practice, providing guidance to both tool and prospective plugin developers.