Registering a custom post type does not create its rewrite rules, so the archive 404s until permalinks are re-saved. The fix that circulates is flush_rewrite_rules() on init, which…
Printing a <script> tag straight into a template puts it wherever the template happens to run, which is why so many themes have jQuery loaded twice and a…
Three installs, three plugin sets, one person patching them — a security release forgotten on the third site for six weeks. The import order, and what a shared…
Without a persistent object cache, a transient is two rows in wp_options — the value and a timeout — and expiry is checked nowhere except inside get_transient(), which…
WP_Query covers a lot and stops short of a few things: ordering by a joined table, a GROUP BY you chose, an index hint, a comparison meta_query cannot…
Before adding a caching plugin to hold one expensive query, WordPress already has the API: set_transient() and get_transient(), with a time to live and no configuration. It uses…
Scripts and styles are printed by wp_head itself, at priority 9. A callback hooked to wp_head at the default priority of 10 therefore runs after the queue has…