wp-plugins

  • WooCommerce 3.0 turned products into objects

    Every plugin reading _price from post meta is now reading a private field. The mechanical half, the half that is not, and the compatibility layer for code you…

  • Content filters run in an order plugins fight over

    the_content is a queue every plugin joins, and priority decides the outcome. A shortcode that renders as text, a paragraph tag wrapped around a block element, and an…

  • Gutenberg is a plugin this year, and only a plugin

    The editor is under active development as a feature plugin, which means it can be installed, it changes weekly, and nothing about a site depends on it unless…

  • The REST API in core, and the plugin it replaces

    4.7 shipped the content endpoints. What moving off the feature plugin involves, why authentication is still the unsolved half, and the read API every site now exposes.

  • Term meta arrived in 4.4 and nobody noticed

    Attaching data to a category or tag used to mean an option keyed by term id, a separate table, or a plugin. 4.4 added a real meta table…

  • wp_insert_post fires every hook the editor fires

    An import loop calling wp_insert_post() is doing everything a human clicking Publish does: revisions, term counting, ping status, and every plugin listening on save_post. For ten posts that…

  • register_rest_route needs the feature plugin until 4.7

    4.4 shipped the REST API infrastructure — the server, the routing, register_rest_route() — and none of the content endpoints. So the function exists on a stock install and…

  • get_posts suppresses filters and WP_Query does not

    get_posts() is a thin wrapper over WP_Query, so they are usually described as interchangeable. They are not: get_posts() defaults suppress_filters to true, which disables every posts_* filter for…

  • add_image_size does nothing to images already uploaded

    add_image_size() registers a size that WordPress will generate at upload time. Adding one to a theme has no effect on the several thousand images already in the library,…

  • Filtering a WooCommerce catalogue without the meta tables

    Five filters over 30,000 variations, and a request that never returns. Replacing EAV meta joins with a denormalised index table kept in sync by product hooks.