Introduction to modules

Learn about what modules are, what different flavors of modules are available, how to install them, and where to get them.

What are modules?

At the simplest level, a module is a PHP file containing a class that adheres to ProcessWire’s Module interface. Modules enable a high level of extensibility and customization to ProcessWire. Much of ProcessWire itself is a collection of plugin modules. In fact, the ProcessWire admin application is just a group of modules.

Core modules and site modules

In ProcessWire, there are Core modules and Site modules. Core modules (stored in /wire/modules/) are modules that are included with the core, many of which come pre-installed since they provide much of the functionality in ProcessWire. On the other hand, Site modules (stored in /site/modules/) are those that you obtain separately (or create) and install yourself.

How modules are installed

Installing a Site module is as simple as uploading the module's files to the /site/modules/ModuleName/ directory on your server (where ModuleName is the name of the module) and then clicking Install in the Admin (Modules > Install). You can also install a module directly from the admin by uploading the ZIP file or providing the URL where it can be downloaded. Uninstalling a module is as simple as clicking Uninstall in the module's settings.

ProcessWire also comes with many Core modules that are not pre-installed, but are ready for 1-click installation. These can be listed and installed by navigating in the admin to Modules > Core.

Where to get modules

ProcessWire itself comes with many modules. The modules that are most likely to be used in all installations come pre-installed, while modules that are likely to be used in at least 30% of installations may not be pre-installed, but are included with the core and installable with one click (see Modules > Core). Many free third-party modules are available for from the modules directory. Several Pro modules (a type of commercial module developed by the lead developer of ProcessWire) are also available. You can also create your own modules, which is simple to do—see our section on module development.

Twitter updates

  • ProcessWire 3.0.174 core updates: improvements to the new path/URL hooks and more— More
    12 March 2021
  • ProcessWire 3.0.173 adds several new requested features and this post focuses on one of my favorites: the ability to hook into and handle ProcessWire URLs, independent of pages— More
    5 March 2021
  • This week ProcessWire gained powerful new tools for finding pages and controlling how they are loaded. If you like to maximize performance and efficiency, you’ll like what 3.0.172 brings— More
    5 February 2021

Latest news

  • ProcessWire Weekly #356
    In the 356th issue of ProcessWire Weekly we'll cover the latest core updates (ProcessWire 3.0.173), introduce new third party modules RockCalculator and RockIframe, and take a closer look at a brand new site of the week. Read on!
    Weekly.pw / 6 March 2021
  • ProcessWire 3.0.173 core updates: New URL hooks
    ProcessWire 3.0.173 adds several new requested features and this post focuses on one of my favorites: the ability to hook into and handle ProcessWire URLs, independent of pages.
    Blog / 5 March 2021
  • Subscribe to weekly ProcessWire news

“We chose ProcessWire because of its excellent architecture, modular extensibility and the internal API. The CMS offers the necessary flexibility and performance for such a complex website like superbude.de. ProcessWire offers options that are only available for larger systems, such as Drupal, and allows a much slimmer development process.” —xport communication GmbH