Development workflow Practical
Adding an SCSS build, and whether to commit the output
WordPress themes are expected to deploy without a build step, which leads to the opposite conclusion from ordinary application code — and to its own costs.
Technote
For developers who work on WordPress as code: hooks and filters, WP-CLI, Git workflow and deployment automation.
25 articles· Developers
Development workflow Practical
WordPress themes are expected to deploy without a build step, which leads to the opposite conclusion from ordinary application code — and to its own costs.
Security Practical
These three differ in threat model, not convenience. Whether the caller is a browser, your own server, or a third party decides the answer for you.
Development workflow Practical
It runs your own PHP file inside a fully loaded WordPress. Flags starting with -- never reach your script, though, because WP-CLI consumes them first.
Performance optimization Practical
Repeated identical lookups disappear. One slow query does not. Miss that distinction and you will wire up Redis and then ask why nothing got faster.
Development workflow Practical
This hook fires for every WP_Query — menus, widgets and admin list tables included. Without guards, screens you never meant to touch change quietly.
Development workflow Practical
WordPress stores serialised PHP arrays in options and meta, with string lengths written inside them. A SQL REPLACE changes the value and leaves the length behind.
Development workflow Practical
permission_callback is not optional. Omit it and the route is public, with a core warning to match. An args schema then keeps validation out of your handler entirely.
Performance optimization Practical
WP_Query primes caches for its own results only. A hand-built list of IDs gets none of that for free — and that difference decides your query count.
Themes & plugins Practical
Duplicated markup always drifts. You fix one copy, the other stays wrong, and nobody notices until the two screens disagree.
Development workflow Practical
Replace a domain with raw SQL and widget and theme settings quietly go blank. Serialised data stores string lengths — and switching tools removes the problem entirely.
Development workflow Practical
Priority is a queue position, not authority. Raising your number is a move the other side can also make, and jumping behind a translation filter sends the untranslated…
Security Practical
A committed secret is a leaked secret. Rewriting history does not take it back, and the only remaining fix is rotation.