Can I customize Benecaster for a client?
Yes, and the surface is wider than hooks alone. You can’t hold a license on a client’s behalf — see agency and multi-site licensing — but the license rule is about who owns the podcast, not about what you’re allowed to build. A companion plugin that shapes a client’s install is ordinary WordPress development, and it stays your work.
What you can change. Alongside the general hook and filter surface, Benecaster’s admin accepts extensions declared from PHP:
- Setup wizard steps —
benecaster_setup_wizard_stepspasses you the whole ordered step list, so you can add your own steps, drop ones a client doesn’t need, or reorder what’s left. - Settings pages and sections — add a full settings page to the show editor navigation, or a section inside an existing settings page.
- Dashboard cards — add your own card to the Benecaster dashboard.
- Editor tabs — add tabs to the episode editor and show editor sidebars, and sections to the subscriber detail panel.
Add-ons use these same filters. There is no private path that add-ons get and you don’t.
Two things worth knowing before you quote the work.
The admin is a React application, not a set of PHP admin screens. The filters above declare your extension — its slug, label, and position — but the thing that renders is a React component your plugin registers on the page. So admin UI work means shipping JavaScript as well as PHP. Everything that isn’t admin UI — feed output, subscriber lifecycle, emails, templates, integrations — is plain PHP hooks and needs no build step.
Benecaster is not white-label. The admin menu says Benecaster, the interface is Benecaster’s, and there is no branding hook or setting to change that. You can add to the admin and reshape the setup flow; you can’t make it look like your own product or the client’s. If a client’s requirement is that Benecaster be invisible, say so early rather than discovering it late.
Build alongside the plugin, not inside it. Everything above is reachable from outside the plugin — hooks, filters, shortcodes, template overrides, the admin extension points, and the public function surface. Modifying Benecaster’s own files is not supported: our Terms §6.1 condition support and warranty on an unmodified core, updates overwrite changed files anyway, and removing our branding or presenting the plugin as your own product is prohibited outright. If the extension surface does not reach something you need, tell us — we would rather add the hook than have you fork the file, and that is the only route where your work survives an update.
Where to start. The hook reference, shortcode reference, and recipes cover the full surface, and the recipes are working examples rather than snippets. If you’d rather have the work done than do it, we also take on custom development.