Zombie Apocalypse 2.2.0 and requiem XVI

What better way to celebrate that sweet, pumpkin-spiced festive time when the veil between the living code and the dead grows thin than to dig out a corpse and set it on the mortuary table for everyone to enjoy. We had plans… grand, grotesque plans. The double customary requiem was going to be a bloodbath of features, a massacre of mediocrity.

But time slipped away, the bunker was breached, the devs were scattered, some were bitten, others turned. And the requiem was missed. But in missing it, we found something deeper – a truth, a realisation that sometimes, the best updates are the ones that ferment. That stew in their own juices until they’re ready to be served. That are left a few more years to marinate – and oh, how it marinated. Fermented, even. Aged like something the embalmers refuse to name.

So here it is – Zombie Apocalypse’s near decades-old putrid corpse (and our oldest skeleton in the closet) is out on display again, dressed for the season in its crimson-best burial shroud. We know we’ve left it to rot for quite a while, long enough for the maggots to hold a constitutional convention, but we’ve been careful this time. It wasn’t just a touchup.

Behind the gravestones, something unnatural was happening: we let an unholy intelligence – tireless, unsleeping, and frankly a little too enthusiastic about the binarity of code – sink its electrons-filled claws into the old flesh to stitch, and cut, and stitch. A Zombie A.I.pocalypse, if you will. The machine didn’t rise against us, it rose for us, threading ligaments at 3 AM while we slept in our rejuvenation sarcophagi. The result is the most thoroughly reanimated corpse we’ve ever served up: every tendon traced, every bone polished, every incision closed with surgical, inhuman patience. The necromancy was, let’s say, generative.

What the ritual changed

  • The blood flows again. Comments posted since WordPress 5.5 were invisible to the previous versions, trapped on the other side, waving desperately at the living. They now walk among us again. Rest easy (or uneasy), your words are no longer ghosts.
  • The organs were rearranged. The theme’s styles and scripts are now enqueued properly – civilised, like a body with all its parts labelled. This may also wreak havoc on your use of child themes if they do anything much around styles and scripts.
  • The options-based styling (layout widths, text sizes, hide options, the header image) was refactored out of scattered inline guts and now lives in includes/custom-style.php, enqueued at the proper place. Tidier viscera, same monster. Heads-up for child theme masters: if your child theme carries old copies of header.php, footer.php, sidebar.php or searchform.php, update them from the current version – the old copies keep shuffling along, but they print the stylesheet and options CSS twice, and old header.php mutters PHP 8 errors like a possessed doll.
  • A fresh nervous system. The theme options array now loads at a later priority to avoid WordPress’ possessed Justin Time maledictions – code expecting it earlier will find the tomb empty. And all the gore elements moved to before pseudo-elements, which means existing custom gore styling may misbehave. The blood is still there; it just clots differently now.

New ritual options, fresh from the altar

  • An old-school gore censorship option, for those who prefer their corpses (almost) family-friendly.
  • Modern padding – a configurable (slight) increase of breathing room around the mummy’s bandages. Even the dead deserve a little personal space.
  • A lists font size option, so text in lists no longer whispers at a different volume than the rest of the body.
  • Keyboard navigation on the main menu (accessibility spells that still respect the menu animation).
  • A theme news section with no unwanted whispers home to the dark lords for the About page.

Exorcisms performed

  • PHP 8 warnings banished when options are missing or half-saved;
  • various incompatibilities silenced;
  • misalignments straightened like bones after a good cracking;
  • duplicates scrubbed clean.

Amputations executed

  • pre-WordPress 4.1 title-handling beheaded;
  • unused jQuery UI file cast into the abyss;
  • unused options import/export code (and misplaced duplicate admin.php) left for the ravens;
  • defunct social aptitudes in the admin script surrendered to decay;

The whole cadaver passed the Theme Check plugin exorcism, now compatible with PHP 8.0 and newer, and sewn to fit the latest WordPress coffin perfectly.

So grab your silver plate and fork and come feast before the maggots finish all the (still) tender bits. The A.I.s may have done most of the digging, but yours truly held the lantern and poked at every nerve, vein and ligament to ensure they remains properly dead. If the stitches look too neat, that’s not a bug. And if something is too putrid… well there’s always next time. That’s just how the apocalypse is done now – one prompt at a time.

Happy Halloween from the Cryout Creations catacombs

Changelog:

v2.2.1

  • Finally improved the image-based main wrapper responsiveness and handling of some gore visuals on mobile devices
  • Fixed block widget titles missing correct regular and censor-mode styling
  • Fixed skip to content button not becoming visible on focus
  • Fixed footer text gone missing in 2.2.0
  • Cleaned up leftover debugging line in menu.js
  • Cleaned up never used code in admin.js
  • Cleaned up never used styling in admin.css

v2.2.0

  • Rewrote theme styles and scripts to now be enqueued properly – can break child themes
  • Refactored the options-based CSS styling generation from in-line placement to the includes/custom-style.php file and enqueued it to the main stylesheet – can break child themes
  • Added the wp_body_open() hook to the header
  • Added old-school gore censorship option
  • Added “Modern Padding” layout option to allow for a configurable (slight) increase in general padding around the content
  • Added “Lists Font Size” option to control text size in lists relative to general text
  • Added label for screen readers and placeholder instead of default value to the search form input and removed its focus/blur scripts
  • Added validation for the select and font options in the customizer
  • Added escaping for remaining translated and dynamic output in the theme templates
  • Added check to add the pingback link only where pingbacks are open
  • Added a latest theme news list with on-demand loading to the theme’s about page
  • Added the required theme information headers and updated readme and tags
  • Added keyboard navigation support for accessibility on the main menu while retaining the menu animation option
  • Custom header support is now declared with its settings instead of the deprecated constants
  • Updated example header images to be the correct (site) width
  • Changed front-facing outgoing links in the theme to be protocol-agnostic
  • Updated non-working donation button
  • Replaced deprecated lists background image bullets with list-style-image bullet images
  • Improved translation support: unified the text domain, removed empty translation strings, made About page, search form and customizer labels translatable, added translator hints for strings with placeholders
  • Improved HTML validation: duplicate search form IDs, WordPress gallery styles printed inside the page body, bare ampersand, meta tag order
  • Sorted out splatter/topper images names to elements correspondence
  • Fixed the “Skip to content” link to make it visible on keyboard focus
  • Fixed regular comments not displaying with WordPress 5.5 and newer
  • Fixed PHP 8.0+ warnings when theme options are missing or only partly saved
  • Fixed translations being loaded too early notice with WordPress 6.7+; theme options are now loaded after the text domain
  • Fixed the attachment page “Return to” link title and missing image metadata notices
  • Fixed WordPress gallery style clearing no longer working since HTML5 galleries
  • Fixed jQuery 3 incompatibilities in the admin script
  • Fixed the monthly and yearly archive titles to use translatable date formats
  • Fixed misaligned checkboxes/radios in comments form
  • Fixed use of deprecated header image sizing constant and replaced with add_theme_support()
  • Fixed theme indicator misaligned in the customizer with WordPress 6.7+
  • Removed deprecated pre-WordPress 4.1 title handling code
  • Removed unused jQuery UI file (admin/js/accordion-slider.js)
  • Removed unused theme options import/export code and a misplaced duplicate admin.php file
  • Removed unused Facebook and Twitter functionality in the admin script
  • Validated with Theme Check plugin to meet current WordPress.org theme requirements (now requires WordPress 5.6 and is compatible with PHP 8.0 and newer)
Zombie Apocalypse is a dark, "B" style horror movie inspired WordPress theme by Cryout Creations with lots of blood and gore. For more info check out the theme's page.

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.