{"id":224178,"date":"2025-11-18T09:04:16","date_gmt":"2025-11-18T09:04:16","guid":{"rendered":"https:\/\/wpmudev.com\/blog\/?p=224178"},"modified":"2025-11-17T07:34:40","modified_gmt":"2025-11-17T07:34:40","slug":"dev-refactor-i-hardly-know-her","status":"publish","type":"post","link":"https:\/\/wpmudev.com\/blog\/dev-refactor-i-hardly-know-her\/","title":{"rendered":"DEV: Refactor? I Hardly Know Her!"},"content":{"rendered":"<p><strong>Welcome to DEV, your fortnightly dose of WordPress news. <\/strong><\/p>\n<p>We\u2019ve stacked up the latest tools, clever dev tricks, fresh features and standout community creations, all carefully assembled to help you keep building with confidence. \ud83e\uddf1<\/p>\n<p>Stick around to the end to see the moment a future star is born.<\/p>\n<p><strong>In today\u2019s edition:<\/strong><\/p>\n<ul>\n<li>Patchstack &#038; FAIR team up on a shiny new security MVP that gives you early warnings before chaos hits your site.<\/li>\n<li>December 2nd is coming: WordPress 6.9 is dropping and we\u2019re expecting dramatic keynote moments.<\/li>\n<li>Coming Soon: Watching someone else ruin your carefully-crafted block, in real time.<\/li>\n<\/ul>\n<h2>Hot Off The Presses: What\u2019s New?<\/h2>\n<div class=\"image-grid cgrid-row\">\n<div class=\"cgrid-col cgrid-col-span-full\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/wpmudev.com\/blog\/wp-content\/uploads\/2025\/11\/dev-refactor-meme-brick-wall.png\" alt=\"Brick wall built unevenly with text \u201cJust keep coding. We can always fix it later.\u201d\" width=\"640\" height=\"631\" class=\"aligncenter size-full wp-image-224179\" \/><\/div>\n<\/div>\n<p><\/br><br \/>\nYou know that moment when your code is looking a little wobbly and you think, \u201c\t<em>Eh, I\u2019ll clean it up later.<\/em>\u201d?<\/p>\n<p>Yup. That\u2019s how you end up with something technically functional but structurally crying for help.<\/p>\n<p>It\u2019s always, \u201c<em>Just keep going, no time to refactor\u2026<\/em>\u201d until you end up with something held together with TODO comments, mysterious helper functions and that one CSS class you\u2019re too afraid to delete. But hey, that\u2019s part of the charm, right?<\/p>\n<p>In the meantime, we\u2019ve got your back with the latest dev tips, news and insights to help you build something a <em>little<\/em> sturdier this week. \ud83e\uddf1<\/p>\n<h2>\ud83c\udfb6 Oh Little Town of San Francisco\ud83c\udfb6<\/h2>\n<p>Mark your calendars for <strong>December 2, 2025<\/strong>. In the dark streets of San Fran shineth the everlasting light of the annual State of the Word keynote, and the hopes and fears of all the years (aka. WordPress 6.9) will be launched on the exact same night.<\/p>\n<p>Presented by Matt Mullenweg, this year\u2019s event promises to be a showcase of what\u2019s next for the WordPress ecosystem: big announcements, surprises, and live demos. And yes, if you\u2019ve been waiting for 6.9, it\u2019ll finally be available for you to unwrap and play with.<\/p>\n<p>Whether you\u2019re attending in San Fran or watching from your computer chair with a cup of coffee, you can expect live walk-throughs of new features, a first peek at future roadmaps and plenty of grand poetic tidings about the \u2728<em>meaning of it all<\/em>\u2728.<\/p>\n<p>Whether you\u2019re a freelancer, agency, or plugin builder, this is the moment to sit up, pay attention and plan for what\u2019s coming next.<\/p>\n<p>\ud83d\udc49 <a href=\"https:\/\/make.wordpress.org\/core\/2025\/07\/28\/roadmap-to-6-9\/\" rel=\"noopener\" target=\"_blank\">Remind yourself of what\u2019s new inside 6.9<\/a><br \/>\n\ud83d\udc49 <a href=\"https:\/\/wordpress.org\/state-of-the-word\/\" rel=\"noopener\" target=\"_blank\">If you haven\u2019t yet, check out the official announcement at the State of the Word site<\/a><\/p>\n<h2>Real-Time Collaboration Inches Closer for WordPress<\/h2>\n<p>Ever wished WordPress editing felt a bit more\u2026 <em>Google Docs<\/em>-y? Real-time collaboration is moving forward in <a href=\"https:\/\/make.wordpress.org\/core\/2025\/11\/06\/update-on-phase-3-2025\/\" rel=\"noopener\" target=\"_blank\">Phase 3 of the Gutenberg roadmap<\/a>. Soon, you might actually see your teammates typing instead of just imagining them silently judging you.<\/p>\n<p>The goal: faster, smoother, genuinely collaborative teamwork.<\/p>\n<p>Here\u2019s what the Core team is laying the groundwork for:<\/p>\n<ul>\n<li>Live cursors and simultaneous editing<\/li>\n<li>Inline comments and suggestions<\/li>\n<li>Improved post locking (no more \u201cThis post is currently being edited\u201d purgatory)<\/li>\n<li>More intuitive version histories<\/li>\n<li>Smoother multi-author workflows<\/li>\n<\/ul>\n<p>Of course, getting WordPress to behave like Google Docs is no simple feat. As <a href=\"https:\/\/publishpress.com\/blog\/google-docs-editing-gutenberg\/\" rel=\"noopener\" target=\"_blank\">Steve Burge explained years ago<\/a>, Google can rely on its own tightly controlled ecosystem. WordPress, on the other hand, has to make all this magic work across wildly different hosting setups, from enterprise-grade powerhouses to humble shared servers.<\/p>\n<p><a href=\"https:\/\/github.com\/Automattic\/vip-real-time-collaboration\" rel=\"noopener\" target=\"_blank\">WordPress VIP<\/a>, released in late October, uses WebSockets to enable real-time editing complete with live cursors, automatic conflict resolution, and friendly floating avatars. The catch? You\u2019ll need WordPress 6.7+, a WebSocket server, and a custom Gutenberg build. Not every host supports that, so this approach may end up being a <a href=\"https:\/\/x.com\/SteveJBurge\/status\/1980335760101560655?s=20\" rel=\"noopener\" target=\"_blank\">VIP-only party for a while<\/a>.<\/p>\n<p>Good news: <a href=\"https:\/\/github.com\/WordPress\/gutenberg\/issues\/66377\" rel=\"noopener\" target=\"_blank\">Block Commenting (\u201cNotes\u201d)<\/a> ships with WordPress 6.9 on December 2, letting you leave, view, and resolve asynchronous inline comments on blocks.<\/p>\n<p>Real-time collaboration is coming, slowly but surely. Someday <a href=\"https:\/\/x.com\/cloudHQ\/status\/1520513185324748800\" rel=\"noopener\" target=\"_blank\">this feeling<\/a> will be yours within WordPress too!<\/p>\n<p>\ud83d\udc49 <a href=\"https:\/\/make.wordpress.org\/core\/2025\/11\/06\/update-on-phase-3-2025\/\" rel=\"noopener\" target=\"_blank\">Check out the latest Phase 3 update on Make.WordPress.org<\/a><br \/>\n\ud83d\udc49 <a href=\"https:\/\/make.wordpress.org\/core\/2023\/07\/03\/real-time-collaboration\/\" rel=\"noopener\" target=\"_blank\">Follow the roadmap as WordPress pushes toward real-time editing<\/a><\/p>\n<h2>FAIR Warning: Patchstack &#038; FAIR Build Security MVP at CloudFest USA<\/h2>\n<p>At the first CloudFest USA Hackathon in Miami on November 4th, 22+ contributors from Patchstack and the FAIR Package Manager project put their heads together to build the <strong>FAIR Software Security Assistant<\/strong>.<\/p>\n<p>It\u2019s an MVP of a tool that\u2019ll give you vulnerability warnings, directly in your WordPress admin.<\/p>\n<p>Here\u2019s what they cooked up:<\/p>\n<ul>\n<li>A vulnerability-screening engine that ties Patchstack\u2019s intelligence into FAIR\u2019s decentralized packaging system.<\/li>\n<li>A policy-engine where hosts or site-owners can block, flag, or approve plugins and themes before they hit dashboards.<\/li>\n<li>A minimal dashboard\/monitoring interface so you can visualise your repository\u2019s health without diving into logs or obscure APIs.<a href=\"https:\/\/145724227.fs1.hubspotusercontent-eu1.net\/hubfs\/145724227\/CF%20USA%202025\/PDF%20-%20Hackathon%20Project%20Brief.pdf?utm_source=chatgpt.com\" rel=\"noopener\" target=\"_blank\"><\/a><\/li>\n<\/ul>\n<p>\ud83d\udc49 <a href=\"https:\/\/145724227.fs1.hubspotusercontent-eu1.net\/hubfs\/145724227\/CF%20USA%202025\/PDF%20-%20Hackathon%20Project%20Brief.pdf\" rel=\"noopener\" target=\"_blank\">See the project brief here for more details.<\/a><\/p>\n<p>This means the conversation is shifting: from \u201chow do we fix bugs?\u201d to \u201chow do we stop the risky stuff from ever getting installed in the first place?\u201d If you manage many WordPress sites, or build tools that others install, this is worth your attention.<\/p>\n<p>Hosts adopting FAIR can, in theory, start enforcing security earlier in the chain, meaning fewer surprise patches and, hopefully, fewer \u201coh-no-we\u2019ve-got-a-vulnerability\u201d late nights.<\/p>\n<p>This MVP is just a starting point. FAIR plans to expand integrations, refine UX, and keep the project agnostic so other security providers can plug in too.<\/p>\n<p>And the best part? You don\u2019t have to be a developer to contribute. Hackathon teams included backend, UI\/UX, and policy experts, proving anyone can help shape the project.<\/p>\n<p>\ud83d\udc49 <a href=\"http:\/\/chat.fair.pm\" rel=\"noopener\" target=\"_blank\">Interested in helping? Join the FAIR Slack chat<\/a><br \/>\n\ud83d\udc49 <a href=\"https:\/\/youtu.be\/EY9bVcQL5NA?si=ON-QXd7p-eOrDY7Q\" rel=\"noopener\" target=\"_blank\">Check out this great video interview about the project<\/a><\/p>\n<h2>Mind Bloggling Facts &#038; Stats<\/h2>\n<ul>\n<li>55 minutes. That\u2019s how long it took for the first batch of WordCamp Mumbai tickets to sell out. If you wanna get your hot little hands on a pass, there\u2019s more dropping on the 21st and 29th of November, so be ready! (<a href=\"https:\/\/asia.wordcamp.org\/2026\/mark-your-calendars-next-wordcamp-asia-2026-pass-batches-drop-this-november\/\" rel=\"noopener\" target=\"_blank\">Source<\/a>)<\/li>\n<li>WP Bakery celebrates 4 years of a 4-day workweek, noting that 80% of their team use the extra day for physical or mental wellness, while others spend it teaching or building new plugins. (<a href=\"https:\/\/wpbakery.com\/blog\/celebrating-yourday-four-years-of-the-4-day-work-week\/\" rel=\"noopener\" target=\"_blank\">Source<\/a>)<\/li>\n<li>Beeper is offering a $50k bounty to anyone who can build a bridge between the all-in-one messaging app and networks like WeChat, Snapchat and Viber, as well as dating apps such as Bumble, Tinder and Hinge. (<a href=\"https:\/\/blog.beeper.com\/2025\/10\/28\/build-a-beeper-bridge\/\" rel=\"noopener\" target=\"_blank\">Source<\/a>)<\/li>\n<\/ul>\n<h2>Blogs &#038; Resources You Shouldn\u2019t Miss<\/h2>\n<p>Remkus says the important question is <em>not<\/em> \u201cwhat plugins should I use?\u201d <a href=\"https:\/\/remkusdevries.com\/stop-asking-which-plugins-to-use\/\" rel=\"noopener\" target=\"_blank\">Here\u2019s what to ask instead.<\/a><\/p>\n<p>Want to boost site-stickiness? <a href=\"https:\/\/www.wpsolver.com\/random-post-redirect-button\/\" rel=\"noopener\" target=\"_blank\">This random-post button<\/a> is your secret weapon.<\/p>\n<p>Mike McAlister keeps it <em>classy<\/em> with this super-smart way to <a href=\"https:\/\/x.com\/mikemcalister\/status\/1986890772273414234\" rel=\"noopener\" target=\"_blank\">manage classes and CSS styles in the Block Editor.<\/a><\/p>\n<p>Want more inclusive code? This conversation shows that <a href=\"https:\/\/openchannels.fm\/building-a-culture-of-openness-and-growth-around-accessibility-in-tech\/\" rel=\"noopener\" target=\"_blank\">openness &amp; empathy actually move the needle.<\/a><\/p>\n<p>Our preference for Slack convos means important discussions are being forgotten\u2026 and <a href=\"https:\/\/blog.discourse.org\/2025\/11\/the-death-of-community-memory\/\" rel=\"noopener\" target=\"_blank\">organizations are getting dumber<\/a>.<\/p>\n<p>This plugin <a href=\"https:\/\/github.com\/verygoodplugins\/wp-clean-admin\" rel=\"noopener\" target=\"_blank\">declutters your admin menu<\/a>, so your screenshots look ever-so-sleek and professional.<\/p>\n<p>Want to lock down your blocks without breaking the Site Editor? <a href=\"https:\/\/developer.wordpress.org\/news\/snippets\/limiting-allowed-blocks-without-breaking-the-site-editor\/\" rel=\"noopener\" target=\"_blank\">Here\u2019s how to do it right<\/a>.<\/p>\n<h2>Coffee Break Distractions<\/h2>\n<p>A <a href=\"https:\/\/www.reddit.com\/r\/ProgrammerHumor\/comments\/1nnlzlr\/theroadtohellispavedwithgoodintentions\/\" rel=\"noopener\" target=\"_blank\">version of the trolley problem<\/a> that\u2019ll give you nightmares.<\/p>\n<p>Got numbers you want to show off about? These <a href=\"https:\/\/www.shownumbers.app\/\" rel=\"noopener\" target=\"_blank\">pretty visuals make boasting easy.<\/a><\/p>\n<p>When you think it\u2019s finally done, and the code whispers\u2026 <a href=\"https:\/\/www.reddit.com\/r\/ProgrammerHumor\/comments\/13jlihn\/yes\/\" rel=\"noopener\" target=\"_blank\">\u201cWait, there\u2019s more\u2026\u201d<\/a><\/p>\n<p>The only thing more satisfying than finding a cool rock? <a href=\"https:\/\/www.reddit.com\/r\/JustGuysBeingDudes\/comments\/1ovhkkd\/boys_and_rockssticks\/\" rel=\"noopener\" target=\"_blank\">Picking up a good stick.<\/a><\/p>\n<p>A plugin that solves the problem: <a href=\"https:\/\/jakespurlock.com\/2025\/11\/raptorize-it-15-years-later-now-with-blocks\/\" rel=\"noopener\" target=\"_blank\">\u201cWhat if your website needed more velociraptors?\u201d<\/a><\/p>\n<p>An <a href=\"https:\/\/drawetana.com\/\" rel=\"noopener\" target=\"_blank\">AI image generator<\/a> powered by your embarrassing stick-figure sketches.<\/p>\n<p>\ud83c\udfb6 <a href=\"https:\/\/www.reddit.com\/r\/goodvibes\/comments\/1ostbgc\/these_two_are_fantastic\/\" rel=\"noopener\" target=\"_blank\">Stop, Collaborate and Listen\u2026<\/a> \ud83c\udfb6<\/p>\n<p><strong>And finally\u2026<\/strong><\/p>\n<p><a href=\"https:\/\/www.reddit.com\/r\/instantbarbarians\/comments\/1ovlzbu\/gooooooaaalll\/\" rel=\"noopener\" target=\"_blank\">The cutest goal you\u2019ve ever seen. <\/a><\/p>\n<p><strong>Love this mix of nerdery and nonsense? Forward it to your favorite WordPress weirdo.<\/strong> \ud83d\udc97<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Welcome to DEV, your fortnightly dose of WordPress news. We\u2019ve stacked up the latest tools, clever dev tricks, fresh features and standout community creations, all carefully assembled to help you keep building with confidence. \ud83e\uddf1 Stick around to the end to see the moment a future star is born. In today\u2019s edition: Patchstack &#038; FAIR [&hellip;]<\/p>\n","protected":false},"author":1204260,"featured_media":223199,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"blog_reading_time":"","wds_primary_category":0,"wds_primary_tutorials_categories":0,"footnotes":""},"categories":[11265],"tags":[],"tutorials_categories":[],"class_list":["post-224178","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dev"],"_links":{"self":[{"href":"https:\/\/wpmudev.com\/blog\/wp-json\/wp\/v2\/posts\/224178","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wpmudev.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wpmudev.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wpmudev.com\/blog\/wp-json\/wp\/v2\/users\/1204260"}],"replies":[{"embeddable":true,"href":"https:\/\/wpmudev.com\/blog\/wp-json\/wp\/v2\/comments?post=224178"}],"version-history":[{"count":5,"href":"https:\/\/wpmudev.com\/blog\/wp-json\/wp\/v2\/posts\/224178\/revisions"}],"predecessor-version":[{"id":224180,"href":"https:\/\/wpmudev.com\/blog\/wp-json\/wp\/v2\/posts\/224178\/revisions\/224180"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wpmudev.com\/blog\/wp-json\/wp\/v2\/media\/223199"}],"wp:attachment":[{"href":"https:\/\/wpmudev.com\/blog\/wp-json\/wp\/v2\/media?parent=224178"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wpmudev.com\/blog\/wp-json\/wp\/v2\/categories?post=224178"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wpmudev.com\/blog\/wp-json\/wp\/v2\/tags?post=224178"},{"taxonomy":"tutorials_categories","embeddable":true,"href":"https:\/\/wpmudev.com\/blog\/wp-json\/wp\/v2\/tutorials_categories?post=224178"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}