• Building Resilient API Downloads with Jitter Backoff and Smart Retries

    Working with APIs, there are multiple reasons why you may not receive results when making a request (when the data exists). This can include network failures, timeouts, incomplete results, rate limits, server overload or throttling. If your potential solution to these issues is to retry immediately, you risk hammering the API harder, worsening the problem.…

  • The unfiltered_html permission: unexpected HTML stripping on multisites

    The unfiltered_html permission: unexpected HTML stripping on multisites

    If you’re working with blocks, it’s worth keeping in mind the effect of the unfiltered_html permission and how it can cause issues on multisites. The unfiltered_html permission, if not granted, will result in HTML filtering via the wp_kses function.

  • Setting, checking and deleting cookies

    Working specifically with WordPress, you might find yourself needing to set, check or delete cookies with JavaScript or PHP, or both (setting with JavaScript and checking or deleting with PHP for example). Here’s a quick little guide for both languages, with snippets I found useful recently. Deleting cookies PHP To clear both the $_COOKIE and…

  • Hooking into the Jetpack contact form

    The Jetpack form has various filters that allow for customization to different degrees. Here I’ll look at just one of them, grunion_contact_form_field_html. Since this filters the HTML of the contact form, one benefit is being able to add additional attributes to specific fields in the form.

  • Extending a WordPress block

    Extending a WordPress block

    What I learnt when attempting to extend a WordPress block.