WordPress Plugin Development


What is WordPress? WordPress is a popular blog / content management system that has evolved well beyond its initial purpose into a full-fledged website development platform with a robust community of 3rd party plugins to further extend its capabilities.

What is a plugin? A plugin is a software application that has been built to hook into WordPress, its database, its APIs, and other plugins, to expand its capabilities. Think of plugins as the apps on your smartphone.

Why WordPress?

  • it’s ubiquitous
  • it’s customer-facing
  • it’s quick
  • it has a vast plugin library
  • it’s easy to find frontend developers
  • it’s open source

What is the business case for WordPress?

The business case is simple. Take an open source platform that is free, wildly popular, and has a zillion extensions that are free or reasonably priced, and turn it into a business platform.

It might seem that it should be possible to cobble together a bunch of the plugins and instantly get an affordable and great customer-facing web-based platform.

We have found it’s possible, but not quite that simple. While this approach works for simple cases, sophisticated businesses have complex business rules and need interrelated tools.

However, there are ways to implement such a system and overcome some of these challenges.

Types of Applications

An end-user-facing business application typically requires the following:

  • Authentication of users to an in-house system (SSO)
  • Customization of out-of-the-box features to meet specific business rules or needs
  • Workflows with one step leading to another – or one feature leading to another, such as a purchase unlocking an exam
  • Integration with existing in-house business systems
  • Data sharing
  • Reporting

On paper, WordPress seems to accomplish many of these.

Challenges

Quality of the plugins varies considerably. Going beyond this, the actual coding style and code quality of plugins varies, and this has a direct relationship to the ease of extension.

WordPress plugins is lack of central authoritative data. A process or workflow is strung together with each plugin controlling a small piece of that data.

WordPress plugins tend to be strung together in a seemingly haphazard manner, reducing maintainability and undermining data authority.

Businesses like reports and certainty. How many people are in the second stage of the XYZ process? WordPress is not good at answering those questions without augmentation.

Different degrees of plug-ability, different implementation styles, different database architectures.

Data storage. WordPress user and post meta is inefficient. Some plugins create tables, some use custom posts and metadata. Some use serialized metadata, making database joins impossible.

Plugin madness. A plugin seems to to 90% of what you need. Then a paid extension bridges the gap to another plugin, but not quite enough. Then another. And on and on. Before long you have 100 plugins installed, extremely complex and elaborate configuration is necessary, and your solution is not durable, reliable, or maintainable.

Tecture’s Solution

Tecture has an approach that solves these issues and avoids plugin explosions.

  • We build an orchestration plugin that controls the others you would like to use
  • We design a data model that aligns with your business needs and serves as a central authority
  • We extend existing plugins so they meet your business needs
  • We integrate with your existing systems for a seamless customer experience

We understand the ways in which data is typically stored in WordPress’ database and know how to extract optimal performance from what can become a bloated and slow platform.

The result of this approach is that our clients can achieve:

  • Rapid development cycle
  • Use of low-cost or open source pre-built components leads to lower development cost
  • Reduced ongoing maintenance

Contact Us

(Some of the) Plugins We Work With

For this approach to work, we must work with high-quality, reliable, extensible plugins.

  • WooCommerce provides a high-quality ecommerce engine for WordPress, and products can be extended with custom attributes. An order workflow can be hooked into so that orders can trigger outside events (i.e. API key creation), or outside events can trigger order changes (i.e. product shipment).
  • WooCommerce Subscriptions provides a subscription system on top of WooCommerce, with a customer-facing UI to control the subscription and payment method, and can be extended and hooked into for customization.
  • Uncanny Automator is an ingenious plugin that allows you to create recipes to automate connections between plugins and systems. Our favorite capability, however, is that it’s very easy to add custom triggers and actions to it.
  • LearnDash is a LMS. It’s a very complex piece of software and is very hard to use and hook into, but we haven’t found a better solution. Uncanny Owl offers Tin Canny Reporting, which provides an xAPI / SCORM solution. If you have learning packages and want to deploy them on WordPress, this solution works.
  • The Events Calendar is an event calendar plugin for WordPress. We dynamically create events based on data feeds or workflow events, and dynamically embed forms (such as a course enrollment form) into events.
  • Fluent Support offers a full-fledged support ticketing solution inside of WordPress. If you do not use a system with cases such as Salesforce or Zendesk, or want to offer a customer-facing ticketing system that is seamlessly integrated with the customer experience, this is a nice tool.
  • Gravity Forms provides a data entry solution to WordPress. Gravity Forms has a Feeds capability, and it’s easy to add custom feeds so that form entries can automatically push data into other systems. Forms can be attached to anything – events, products, or embedded dynamically. We use these to open support tickets, send data into CRM systems, and much more.
  • Gravity Flow is a workflow plugin that sits on top of Gravity Forms, and provides a custom workflow capability on top of form entries. It’s easy to add custom workflow steps to Gravity Flow, which then allows you to push data into other systems through feeds or perform other actions automatically.
  • Gravity View is a tool to create dynamic views of form entries.
  • OpenID Connect Generic connects WordPress to an outside SSO system such as KeyCloak or AWS Cognito.

There are many others, and not all of these will suit all needs. Tecture is skilled at evaluating plugins, identifying their hooks, reviewing their architecture, and determining how best to integrate them into an overall solution.

Contact Us

We Offer


  • Custom Plugin Development in PHP
  • Database design and development
  • Extension of plugins via hooks (actions, filters)
  • Theme design and development
  • Custom front-end and back-end UI

Plugins

  • WooCommerce
  • WooCommerce Subscriptions
  • Uncanny Automator
  • LearnDash
  • The Events Calendar
  • Fluent Support
  • Gravity Forms
  • Gravity Flow
  • Gravity View
  • OpenID Connect Generic

Selected Projects


Linescape

Tecture migrated the Linescape website to a new WordPress-based solution, powered by a custom-developed plugin and theme.

The site provides container shipping data from Linescape’s proprietary backend database and API. Tecture built a search engine into a WordPress theme powered by this API. We extended WooCommerce products with account tiers, each of which grants access to additional levels of data elements and provides for higher levels of search. We extended WooCommerce Subscriptions to offer web and API plans, and also provide for Enterprise multi-user plans. A custom PHP session-based system monitors usage to ensure customers do not exceed account levels.

Since this project was a migration from the original Angular-based website we developed for Linescape, we needed to perform migrations of some data. This includes integrations with Lambda (to dynamically create API keys upon subscription purchase), Dynamo DB (to migrate old customer data such as company information and favorites), Cognito (JIT migration from an old to a new pool), and MailChimp.

Selected Features

Subscription-based Ecommerce

Tecture extended WooCommerce products with account tiers to grant access to certain levels of data.


Custom API Integration

Tecture implemented a custom search tool to search container shipping schedules, ports, vessels, and carriers using its proprietary backend API. The data is cached in Redis for performance.


Custom Subscription Tiers

Tecture extended WooCommerce Subscriptions to offer web and API plans, and also provide for Enterprise multi-user plans.