Advanced tools for professional WordPress developers πŸ”§ https://xitter.cf/t.co/aWZDsySk6l Tweets by @retlehs

Joined March 2011
✨ We built WP Composer β€” an independent, open source Composer repository for WordPress plugins and themes, with 17x faster cold resolves than WPackagist wp-composer.com/
7
53
12
203
51,296
Installing WordPress core with Composer? Make updates boring: β†’ Let Renovate open a PR as soon as a new roots/wordpress version drops (see Bedrock's config) β†’ Make sure your e2e tests cover critical paths β†’ Automatically run them against seeded data on every dependency PR
1
16
757
roots.io retweeted
WordPress sites on Roots Bedrock now work with every WordPress tool in Ploi. Ploi detects the web/wp core directory, so plugins, themes, search and replace, the WP-CLI console, cronjobs and clones all work. Override the core directory if your fork moved it.
1
3
10
735
Back when Sage used to be called the Roots Theme, it was one of the first WordPress themes to add a build system v6.5.0 used Grunt and Bootstrap v3 with Less, and shortly after we added Bower πŸ‘΄
If you remember this, your back probably hurts.
3
2
30
1,438
🚨 PSA for Radicle users: the latest WordPress security releases (7.0.6, 7.1.2) break Blade views that live outside the theme directory. Front-end fatals with memory exhaustion, wp-admin looks fine. Fixed in Acorn v6.3.0. Update before you update WordPress. If you're using Radicle with WooCommerce, you'll also need changes applied to the sage-woocommerce package. See this topic for more details: discourse.roots.io/t/psa-wor…
2
9
732
Acorn is 6 stars away from 1k πŸ‘€ github.com/roots/acorn
1
1
10
614
For plugin and theme authors, there are README badges now if you want to show off your Composer install counts wp-packages.org/docs#badges
2
173
roots.io retweeted
Composer 2.10 is out. Native malware filtering via @AikidoSecurity, enabled by default on @Packagist. Plus a unified config.policy framework, deprecated source fallback, and wildcards in --with. #php #phpc #composerphp
9
85
11
336
25,810
WordPress 7.0 RC4 just dropped: πšŒπš˜πš–πš™πš˜πšœπšŽπš› πš›πšŽπššπšžπš’πš›πšŽ πš›πš˜πš˜πšπšœ/πš πš˜πš›πšπš™πš›πšŽπšœπšœ-πšπšžπš•πš•:𝟽.𝟢-πšπ™²πŸΊ wordpress.org/news/2026/05/w…
For folks using the πš›πš˜πš˜πšπšœ/πš πš˜πš›πšπš™πš›πšŽπšœπšœ package, you can swap to πš›πš˜πš˜πšπšœ/πš πš˜πš›πšπš™πš›πšŽπšœπšœ-πšπšžπš•πš• to test the latest 7.0 RC:
1
1
4
1,145
roots.io retweeted
🚨 Security advisory: Composer 2.9.8 and 2.2.28 are out and fix a vulnerability leaking GitHub Actions new format GITHUB_TOKENs into job logs via error messages. Update now (composer self-update) or disable affected Actions workflows. #composerphp #phpc #php
5
91
10
210
92,422
roots.io retweeted
Spin up a @rootswp Bedrock site in your browser 🌐 Powered by php-wasm, ghostty-web, Astro on Cloudflare Workers (Extremely alpha phase & still in a private repo. Got a decent roadmap but time is tight atm - it'll eventually support Acorn and Sage) playground.roots.io
2
3
23
1,409
An early warning system for WordPress plugin security issues: WP Packages now tracks vendor mass closures publicly RSS feed and APIs also available for mass closures πŸ”” wp-packages.org/closures
2
4
25
1,466
For folks using the πš›πš˜πš˜πšπšœ/πš πš˜πš›πšπš™πš›πšŽπšœπšœ package, you can swap to πš›πš˜πš˜πšπšœ/πš πš˜πš›πšπš™πš›πšŽπšœπšœ-πšπšžπš•πš• to test the latest 7.0 RC:
1
1
16
2,512
roots.io retweeted
PSA for Acorn users: skip transients, reach for Laravel Cache β€” roots.io/acorn/docs/laravel-… Just caught Claude Code reaching for a transient & updated Radicle's PHP style guide to be more explicit about this. Official πš‚π™Ίπ™Έπ™»π™»πš‚.πš–πš files for our major projects coming soon!
1
1
13
1,220
Automatic self-signed trusted certs for Lima VMs have landed in the latest version of Trellis CLI ✨ πšπš›πšŽπš•πš•πš’πšœ πšŸπš– πšπš›πšžπšœπš Exports the cert and key out of the VM, trusts the cert in the macOS keychain and Firefox profiles πš‹πš›πšŽπš  πšžπš™πšπš›πšŠπšπšŽ πšπš›πšŽπš•πš•πš’πšœ-πšŒπš•πš’
1
5
493
πŸ™ˆ @WooCommerce assumes your wp-content directory is "wp-content" and uses site_url() instead of home_url() in some areas PR submitted for one the bugs: github.com/woocommerce/wooco… Reported the other issues: github.com/woocommerce/wooco…
3 ways WordPress plugins break non-standard installs: - Hardcoded wp-content paths - Direct wp-load.php includes - Assuming WP lives at the root roots.io/wordpress-plugins-t…
2
23
3,374
roots.io retweeted
Using ACF made sense in 2019 but it doesn't mesh with modern WordPress development. I just inherited a site that heavily uses ACF and it's a complete mess. - Use πš πš˜πš›πšπš™πš›πšŽπšœπšœβ /β πš‹πšžπš’πš•πš with πš πš˜πš›πšπš™πš›πšŽπšœπšœβ /β πšŒπš˜πš–πš™πš˜πš—πšŽπš—πšπšœ for modern WordPress settings (πš‹πšžπš’πš•πš is the successor to πšœπšŒπš›πš’πš™πšπšœ, been using it all week and it's great β€” no more webpack) - Native blocks are more powerful with a better, modern UX. You can use dynamic server rendered blocks where it makes sense, and WordPress 7.0's PHP block registration can replace most ACF blocks - Use the Block Locking API so clients can't break the layouts you build - Use extended-cpts for CPT/taxonomy management ACF repeaters and flexible layouts aren't the way. InnerBlocks + nested native blocks do this with a better UX. Build some boilerplates using πš πš˜πš›πšπš™πš›πšŽπšœπšœβ /β πšŒπš˜πš–πš™πš˜πš—πšŽπš—πšπšœ for settings pages (ACF settings pages look out of place compared to this), native blocks, etc. and let agents use them to produce better interfaces quickly I've been doing this for years on hybrid themes and haven't looked back (not using FSE, it's not the right setup for the designs I work on) "But ACF is faster" β€” not anymore. Agents close the gap, and reviewing their diffs helps you see what modern WP actually looks like.
21
7
4
116
9,717