Sound familiar?
- You need a feature no plugin offers, or five plugins that each do a fifth of it
- Your theme's functions.php has grown into a thousand lines of business logic
- A plugin you rely on has been abandoned and now throws errors on PHP 8
- Data from your CRM, stock system or booking tool has to be copied into WordPress by hand
- A commercial plugin almost does what you need but customising it breaks on update
Key facts
- We built WP e-Commerce plugins early on, including a free extra shipping options plugin and a payment gateway
- Plugins use WordPress actions and filters, so they survive core and theme updates
- Security basics are non-negotiable: capability checks, nonces, sanitising input and escaping output
- Database queries go through $wpdb->prepare or WP_Query, never raw string concatenation
- REST endpoints are registered with a proper permission_callback
- WooCommerce extensions are written against the CRUD APIs and declare HPOS compatibility
- Fixed-price quote after a free chat; you own the plugin code
Why a custom plugin, not more theme code
Business logic belongs in a plugin, not a theme. If your pricing rules, integrations or custom post types live in functions.php, they disappear the day you change design. A plugin keeps that logic separate, versioned and testable, and lets you redesign the site without rebuilding the features.
A custom plugin also replaces the long tail of small plugins that each add a little and load a lot. One plugin written for your site, doing exactly what you need, is usually faster and safer than five general-purpose ones.
We have been writing WordPress plugins for a long time. In the WP e-Commerce era we released a free extra shipping options plugin and built a payment gateway, and the lessons from supporting real shops through WordPress updates still shape how we work.
How we write plugins
We follow the WordPress Plugin Handbook and coding standards, with a few habits of our own:
- Hooks, not hacks. We extend WordPress and other plugins through actions and filters. We never edit core or third-party plugin files.
- Security by default. Every admin action checks
current_user_can()and a nonce. Input is sanitised on the way in and escaped on the way out with functions such asesc_html()andesc_url(). Database access uses$wpdb->prepare(). - Proper REST endpoints. Routes registered with
register_rest_route()always have a realpermission_callback, not one that returns true. - Background work done properly. Long jobs such as imports or syncs run through Action Scheduler or a real server cron, not on a visitor's page load.
- Clean uninstall. Options and tables are removed if you delete the plugin, unless you ask us to keep the data.
Code is namespaced, autoloaded with Composer and kept in a Git repository you own.
Common plugin projects
Integrations
Sync products, events, vacancies or members from an external system; push form entries or orders to a CRM, accounts package or email platform. We handle OAuth 2.0 tokens, rate limits and failures, with a log in the admin. See API integration.
Admin tools
Bulk editors, import screens, approval workflows, custom reports and dashboards that save staff time inside the WordPress admin they already use.
WooCommerce extensions
Custom shipping methods, payment gateways, checkout fields, product types and order processing rules. These are written against WooCommerce's CRUD classes such as wc_get_order() rather than reading post meta directly, and declare compatibility with High-Performance Order Storage. See WooCommerce development.
Rescuing abandoned plugins
If a plugin you depend on has stopped being maintained, we can fix it for current PHP versions, fork it under a new name or replace it with something leaner.
Testing, updates and compatibility
A plugin has to keep working as WordPress, PHP and other plugins move on. PHP 8.1 is already out of support and PHP 8.2 loses security support at the end of 2026, according to php.net, so we write and test against PHP 8.3 and 8.4.
We test plugins on a staging copy of your site with your theme and plugin mix, not just a clean install. For plugins handling money or data sync we add automated tests around the core logic. When a major WordPress or WooCommerce release lands, the code is structured so updates are a quick check rather than a rewrite.
If you want us to publish a plugin to the WordPress.org directory, we prepare it to the directory guidelines with a GPL-compatible licence, a readme and proper versioning.
Getting a plugin built
Tell us what you want the plugin to do and what it needs to talk to. After a free chat we write a short specification covering admin screens, settings, data and edge cases, then give you a fixed-price quote. You own the code when it is paid for.
Every plugin comes with a short technical note: what it does, which hooks it uses, what settings it stores, which external services it calls and how to switch it off safely. That way your next developer, or your own team, is never guessing.
If the work is bigger than a plugin, such as a separate application that WordPress talks to, we will say so. Get in touch.
What we deliver
- A custom plugin with a clear structure, namespaced code and Composer autoloading
- Admin screens using the Settings API, list tables and custom capabilities
- API integrations with OAuth 2.0 token handling, retries and an activity log
- Custom blocks and shortcodes for front-end features
- WooCommerce extensions: shipping methods, payment gateways, checkout fields, order processing
- Fixes or rewrites of abandoned plugins for current PHP and WordPress versions
How it works and what it costs
Every project gets a fixed-price quote after a free initial chat and a short scoping stage. You own the code and the data.
Free chat
Tell us the problem in plain English: what you do now, what goes wrong and what "better" looks like. No charge, no obligation.
Scoping
We map the processes, systems and data involved, agree what is in and out, and write it down so there are no surprises.
Fixed-price quote
You get a fixed price for the agreed scope, or a phased plan for bigger builds, so you can start small and prove it works.
Build and test
We build in short stages you can see and try, test against real data, then go live carefully with a rollback plan.
Hand over and look after
You own the code and the data. We can host it, support it and keep improving it, or hand it to your own team.
Frequently asked questions
Can you modify an existing commercial plugin?
We avoid editing a commercial plugin's files because updates overwrite changes. Instead dijitul writes a small companion plugin that uses the original plugin's hooks and filters. If those hooks do not exist, we discuss alternatives, including asking the vendor or replacing the plugin.
Do you build WooCommerce payment gateways and shipping methods?
Yes. dijitul builds payment gateways and shipping methods for WooCommerce, following the same patterns we used for WP e-Commerce plugins years ago. Gateways use the provider's current API and webhooks, and our code works with High-Performance Order Storage.
Can you fix a plugin that broke after a PHP upgrade?
Usually. Common causes are removed functions, stricter type handling and dynamic properties deprecated in PHP 8.2. We find the failures, fix them and test on your site. If the plugin is badly written throughout, we will quote for a cleaner replacement instead.
Will a custom plugin slow my site down?
It should do the opposite. dijitul loads scripts only where they are needed, caches expensive lookups with transients or object caching, and moves heavy work into background jobs. A single purpose-built plugin often replaces several general ones.
Who owns the plugin code?
You do. Once the work is paid for, the plugin code is yours, kept in a Git repository you control. WordPress plugins are typically GPL licensed, which we explain during scoping if you plan to distribute it.
How is plugin development priced?
We do not publish prices. After a free chat dijitul writes a short specification and quotes a fixed price for it. If you want more features later, those are quoted separately before work begins.
Related
Tell us what you need to build
Free chat, clear scope, fixed-price quote. You own everything we build.