Paco Toledo (@pacotole) header
Paco Toledo (@pacotole) profile picture

Desarrollador web Front, Back, WP en @creapuntome y @joinchatnow — Me gusta la tecnología, la ci-fi y salir de cañas — Papá, DJ aficionado y... omnívoro 🚜🚜🚜

Manchego en Alcorcón 🇪🇸
Joined February 2009
Photo by Paco Toledo (@pacotole)Photo by Paco Toledo (@pacotole)Photo by Paco Toledo (@pacotole)Photo by Paco Toledo (@pacotole)Photo by Paco Toledo (@pacotole)Photo by Paco Toledo (@pacotole)Photo by Paco Toledo (@pacotole)Photo by Paco Toledo (@pacotole)Photo by Paco Toledo (@pacotole)Photo by Paco Toledo (@pacotole)
+1
En días, 8/dic, llega #WordPress 7.2 con REQUISITO de PHP 7.4 o mayor. IMHO, viendo como está el patio, y para mejora de rendimiento y seguridad, debería exigir PHP 8.3 o mayor (Security Support: dic/27). Ya me sé los problemas de hosting, pero hay que empezar a mejorar esto YA.
24
Pues yo una cerveza sí que me tomé
Me after patching my servers for the php2shell exploit.
29
Ha sido un lujazo pasar el día en el #WPAgencyForum. Enhorabuena a los organizadores @ModularDS y @SiteGround_ES
Y así nos despedimos de la segunda edición del #WPAgencyForum. Un día lleno de aprendizajes y muuucho networking Gracias a tod@s quienes lo habéis hecho posible 🚀
1
1
6
156
Replying to @elemntor
@elemntor y @WooCommerce son las mayores fuentes de SPAM dentro del panel de administración de tu propia web.
I'm so sick of this, @elemntor. I'm sick of everything you're doing. I wish I could wash my hands of you. I'm trying. YOU DON'T CARE ABOUT AGENCIES. You never have. THIS SHOULD NEVER BE IN THE DASHBOARD of my client's websites. Oh, and that, which looks to be an affiliate link over to @patchstackapp, c'mon. I thought you guys were done trying to satisfy private equity, and that's why you let people go. I never believed that for 2 seconds. @WPTutz
1
1
121
+1
Hey @photomatt, could you please authorize or "bless" this to happen? meta.trac.wordpress.org/tick… Plugin authors are literally the reason #WordPress has become what it is. We're just asking for data, and we can make it private to each commiter. Make this happen, please.
1
21
Importante si tienes una tienda con WooCommerce Subscriptions
100,000+ stores run this WooCommerce plugin. I doubt any of them know their payments are broken. Any store with $1M ARR could be missing $700k+ in revenue. If you run WooCommerce Subscriptions, check your store. Yesterday, I reported a bug to WooCommerce that silently broke subscription payments after a product switch. Then I got worried: if they missed something this obvious, what else did they get wrong? So I started auditing. Within hours, I had found three more bugs. There were 121 affected subscriptions, and $43,274 in lost revenue. Here's what I found. WooCommerce Subscriptions has an internal flag that controls whether a subscription charges the customer automatically or waits for them to pay manually. When a customer checks out with (for example) Stripe or PayPal, this flag should be set to "automatic." If it isn't, subscription renewals silently stop working: no charge is attempted, no failure email is sent, and the subscription goes on hold until the customer notices and pays manually, or doesn't and churns. Bug 1 (stale cache): After saving subscription dates, the order cache was never cleared. Subsequent saves could serve a stale object with the flag still set to its default: manual. Fixed in subscriptions-core 6.9.0. Bug 2 (broken HPOS backfill): Missing getter/setter methods prevented subscription metadata from being properly synced to postmeta in HPOS when data sync is enabled. Fixed in subscriptions-core 6.5.0. Bug 3 (unnecessary re-fetch): wcs_create_subscription() returned a freshly fetched instance from cache/DB instead of the already-configured object. Any unsaved state, including the corrected flag, was silently discarded. Fixed in subscriptions-core 7.1.0. These three combined accounted for roughly 7% of all subscriptions created at checkout that were silently born broken, despite the customer paying successfully. For 7+ years (we have data from 2017–2024). Automatic payments NEVER fired for these subscriptions. Users never got renewal emails, either. The only way to know they were broken was if the customer noticed they lost access and contacted support, or if the merchant audited their database manually. Bug 4 (switch): When a customer upgrades or downgrades their subscription, the switcher flags the subscription as manual renewal; it only corrects the flag if the payment gateway changes. A customer switching plans while keeping the same gateway (e.g. Stripe to Stripe) cements the flag stuck on manual. I discovered this two days ago, when I found a happy customer in the store overview that I had just helped upgrade, with multiple valid cards on file, put "On Hold" because of a missed payment. For years, I've offered to help WooCommerce improve its code quality and performance. I dry-run code: I find bugs by reading. All four of these bugs are clearly visible in the source without needing to use the software. They could have been caught early. They weren't. The incompetence is immeasurable (well, actually, with the diagnostic queries in my next post, it might be measurable). Our store is small. WooCommerce Subscriptions powers hundreds of thousands of stores. If 7% of subscriptions were silently broken across even a fraction of them, we're looking at potentially millions of dollars in spoiled revenue industry-wide that could have been prevented. Perhaps even billions. None of this was disclosed well or at all. No admin notice. No email. No advisory. The fixes shipped under vague changelog lines like "Make sure we always clear the subscription object from cache after updating dates" and "Ensure proper backfilling of subscription metadata." One fix was labeled "Dev" instead of "Fix." Two don't appear in the GitHub release notes at all. No remediation tool or diagnostic query was provided. Store owners have NO way to know they're affected unless they manually audit their database. The woocommerce-subscriptions-core repo was archived in May 2025 after the code was absorbed into WooCommerce core — making the fix history harder to trace. If you run WooCommerce Subscriptions and used HPOS before mid-2024, check your store. Queries are linked in the tweet below.
3
96
Ninguna actualización sin su [FIX]. Ya está lista la v 6.1.1. Corrige un problema por el que algunos optimizadores no estaban cargando los estilos de Joinchat. Gracias a @AvanzaEnLaWeb por el aviso.
📢 *Joinchat 6.1.0 Released* 🆕 New Added WordPress Abilities for set main settings and generate WhatsApp “click to chat” links ⤴️ Updated Joinchat Block with API V3 ⤴️ Updated admin styles for WordPress 7.0 👇
1
1
2
140
Además ahora Joinchat es un poco más ligero 🚀
📢 *Joinchat 6.1.0 Released* 🆕 New Added WordPress Abilities for set main settings and generate WhatsApp “click to chat” links ⤴️ Updated Joinchat Block with API V3 ⤴️ Updated admin styles for WordPress 7.0 👇
2
73
¿Esto no podía estar desde el principio?
This quoted post is unavailable.
1
1
62
Dando soporte en @joinchatnow muchas veces comprobamos si hay un problema en nuestro plugin o está provocado por alguna optimización (caché, minificado, etc). Os dejo una chuletilla para poder ver la página original con los plugins más populares gist.github.com/pacotole/3d5…
1
1
1
100
Pido ayuda a #devs y expertos en #Analytics: En un proyecto, GA4 está reportando miles de visitas pero no son reales. El servidor no está sirviendo más peticiones, no consume más ancho de banda ni más recursos. La mayoría es tráfico directo desde China 🫣 ¿Qué se puede hacer?
1
41
Preparados para la primera jornada. @joinchatnow ahora está supervitaminado con IA ✨. Si quieres verlo en avión pásate por nuestro stand. #WCEU2025 #WCEU @WCEurope
1
3
95
Muy bueno este post de buenas prácticas de programación y flujo de trabajo con git
Since I started contributing to the Plugin Check Plugin, I’ve found the best Git workflow for WordPress plugin development is Trunk-Based Development (TBD). It’s based on short-lived branches, pull requests, merges, and automated tests. Want to learn more? hostinger.com/blog/trunk-bas…
1
2
78
Esto 👇🏻
Gente poniendo a parir que no les paguen el transporte público El de la España Rural que si pierde el bus no bonificado se queda hasta las 07:00 del día siguiente, le suben el gasoil, el hospital está a 25km y cambió las llantas el año pasao xq la autovía se cae a pedazos
1
1
56
¡Vivan los hijos del subnopop! #OjeteCalor
Ojete Calor teloneados por Miguel Rios 🤪
1
211
Pensaba que WordPress era algo serio pero esto es muy ridículo. Qué forma de tirar a la basura y ningunear a la comunidad 🤦🏻‍♂️
Looks like @wpengine can't keep their own site up!
225
"Matt’s website WordPress.org" 😯🤯
Earlier this week, Automattic and @photomatt responded to a motion filed by WP Engine. This dispute is occurring because private-equity-backed WP Engine expects to continue receiving free access to Matt’s website WordPress.org while threatening the WordPress community through its actions.
1
109