chenszo
Forum Replies Created
-
Forum: Plugins
In reply to: [WooCommerce] multiple copies of the same productsNo custom code needed, it’s two small things.
First, edit the paperback product, scroll to Product data and open the Inventory tab. If “Sold individually” is ticked, untick it and Update. That box is what caps it at one per order.
Second, your button sends people straight to checkout, so they never see a quantity box. You can either point the button at the product page instead (it has the quantity picker built in), or keep the straight-to-checkout link and let them change it on the cart page, so use /cart/?add-to-cart=YOURID instead of /checkout/.
If you’re on the newer block checkout, quantity can’t be edited on the checkout page itself, which is why the cart page route matters. Also double-check shipping is set per item (or by weight) so 3 books don’t ship for the price of 1.
Forum: Plugins
In reply to: [WooCommerce] product price not changingSure. The tricky part is that the link could live in a few places depending on how the “buy paperback” button was made, so start by finding it.
Open your site in a normal window, right-click the paperback buy button and pick Copy Link Address. If it ends in add-to-cart=1079, that’s the one to fix. Note which page it’s on.
Then in wp-admin go to Pages, open that page, and click the button once. A little toolbar pops up with a link icon (looks like a chain). Click it, change 1079 to your new ID, hit Enter, then Update/Save the page.
If it isn’t on a page, check Appearance > Menus (or Appearance > Editor > Navigation on a block theme). Menu items have a URL field you can just edit. Elementor or another builder works the same idea: click the button, find the Link field on the left, change the number, Update.
Can’t find it at all? Go to Pages and type 1079 into the search box. WordPress searches page content, so it’ll usually show you which page has it.
After you save, empty the Products trash and test in a private window.
Your hunch is probably right. Error code 1006 is a Cloudflare page, it means “your IP has been banned” by whatever site sits behind Cloudflare. Dropbox and Google Drive in the free version both do their token handoff through auth.updraftplus.com, so if that relay is blocking your OVH IP, both break on the same day exactly like you’re seeing.
Quick way to prove it: from the server (SSH or ask OVH support), run curl -I https://auth.updraftplus.com and look for a 403 with cf-ray in the headers. Send them that ray ID plus your server’s outbound IP, that’s what they need to unblock it.
While you wait, don’t sit there with no offsite copy. Amazon S3 or FTP in the free version talk to the storage directly and don’t touch the relay, so either one gets you backed up again tonight. Switch back to Dropbox once they clear the IP.
Forum: Plugins
In reply to: [WooCommerce] Can’t turn on reviewsNice, glad it stuck. My best guess on the why: the single product screen can have two switches for the same thing. There’s “Enable reviews” under Product data > Advanced, and there’s also the old WordPress Discussion box (“Allow comments”) if it’s turned on in Screen Options at the top of the edit page. Both save to the same field, and the Discussion box gets the last word. So you tick one, the other is still unchecked, and it quietly overwrites you on Update.
Bulk edit skips that whole form and writes the setting straight in, which is why it worked. If you open a product and see a Discussion box near the bottom, either tick both or just uncheck Discussion under Screen Options so only the Woo one is left.
Forum: Plugins
In reply to: [WooCommerce] product price not changingI think the delete-and-re-add is what’s biting you. Your link is checkout/?add-to-cart=1079, and that number is a product ID. When you deleted the paperback and made a new one, the new one got a new ID, but 1079 is still sitting in your Trash (I can see “Trash (1)” in your screenshot) with the old price.
Hover the new paperback in Products and you’ll see “ID: ####” under the name. Swap that number into whatever button or link points to add-to-cart=1079, then empty the trash so the old one can’t sneak back in.
If it still shows the old price after that, you’re on Bluehost, so purge their cache too (the Caching option in the admin bar) and test in a private window with an empty cart.
Forum: Plugins
In reply to: [WooCommerce] Can’t turn on reviewsThat box unchecking itself on save almost always means something else is overriding it. Couple of usual suspects:
Check Plugins for anything like “Disable Comments” or a security/cleanup plugin with a “turn off comments” toggle. Reviews in WooCommerce are just comments under the hood, so those plugins kill them on every save. Same goes for some themes that have a “disable comments” option in their own settings panel.
Quick test: Products > All Products, tick a couple, Bulk actions > Edit, set Comments/Reviews to “Allow” and update. If it still flips back, deactivate plugins one at a time (or use the Health Check plugin’s troubleshooting mode so visitors don’t see it) until it sticks.
Once the box stays checked, if the Reviews tab still doesn’t show on the product page, that’s the theme. Block themes need the Product Reviews block in the Single Product template (Appearance > Editor > Templates).
Good catch on the SVG. WordPress doesn’t store width/height in the metadata for SVG uploads, so when Rank Math builds the logo ImageObject for the schema there’s no height key to read and it throws that notice on every single page load. That’s how you get to 1GB.
Couple things worth doing now that it’s fixed. Empty that log (rename it or truncate it, it won’t come back on its own) so it isn’t eating your SiteGround disk quota. And for the PNG, Google wants the logo at least 112px square, so give it something around 512px and it’s happy in rich results too.
If you’d rather keep the SVG on the front end, you can still use it in the theme header and just point the Local SEO logo field at the PNG. Rank Math would probably want to hear about this one too so they can add an isset check on that line.
Adding a couple of concrete bits. For a theme, Twenty Twenty-Five is honestly fine for this. It’s a block theme, free, maintained by WordPress itself, so whoever inherits it next won’t be stuck on some abandoned premium theme again.
For the 40+ cats, make each fact sheet a post in a “Fact sheets” category (or a page with a parent), build one layout for them as a pattern, and the index page is just a Query Loop block showing that category. Add a cat and the index updates itself. CanadaHelps and Constant Contact both give you embed code, drop each in a Custom HTML block in the footer template part.
Biggest one with 15 years of history: before you switch over, export a list of the old URLs (a crawler or the old sitemap) and set up 301 redirects to the new pages with the Redirection plugin. That keeps the Google traffic and all the school and research links pointing at you from turning into 404s.
Forum: Plugins
In reply to: [UpdraftPlus: WP Backup & Migration Plugin] Plugin is not runningSince it still fails after 3+ minutes with nothing showing as in progress, the lock row is probably stuck in the database, not on disk. Back up the DB first, then in phpMyAdmin (or WP-CLI) look in wp_options for names starting with updraft_semaphore_ or updraft_last_lock_time_ or updraft_lock_ and delete just those rows. Then try one manual backup.
If they keep coming back, two things I’d look at. Your custom cron job: if it hits wp-cron.php every minute it can keep waking an old half-dead backup that grabs the lock again. Pause it while you test. And if you have Redis or Memcached object caching on, flush it, since a cached copy of that option can outlive the real one.
That “could not find a saved cron key” line usually means the forked scan request started fine, but when it went to read the key back from the database it got an old copy. On LiteSpeed that’s very often the LiteSpeed Cache object cache (Redis or Memcached) handing back a stale value.
Quick test: LiteSpeed Cache > Cache > Object, switch it off, purge all, run one scan. If it finishes, turn object cache back on and add wordfence and wfconfig to the Do Not Cache Groups box there.
If that’s not it, it’s the loopback. Wordfence > Tools > Diagnostics, look at “Connecting back to this site”. Cloudflare can challenge your own server hitting itself, so add your server IP to the Cloudflare allowlist (WAF > Tools > IP Access Rules) and see if the diagnostic goes green.
Last thing worth flipping in All Options > Scan Performance: set Maximum execution time per stage to 20. LSAPI likes to kill long PHP processes quietly, which looks a lot like “ended after forking”.
The fact that it clears when you toggle Rank Math is the tell. That notice isn’t a live check every page load, it gets saved into Rank Math’s own notifications when it sees blog_public as 0 at some moment. Reactivating wipes that list, so the message goes away until something trips it again.
So I’d look for what briefly reports blog_public as 0. Run wp option get blog_public right after the notice comes back. If it says 1, something is filtering it on the fly, not saving it. Search your plugin and theme for pre_option_blog_public, option_blog_public and wp_robots. A robots.txt handler that runs a check against the option, or a sitemap routine that fakes “private” for a request, can be enough.
Also worth testing with your geo plugin off for a full day, not just a toggle, since the old notice can hang around from before. If it never comes back, it’s the plugin. If it does, the Rank Math team will want to see it with Health Check troubleshooting mode on.
Forum: Plugins
In reply to: [UpdraftPlus: WP Backup & Migration Plugin] Plugin is not runningThat log is UpdraftPlus thinking a backup is still running. Usually it’s a leftover lock from a backup that got killed mid-run, and updating the plugin while one was going is a classic way to cause it.
First thing: go to UpdraftPlus > Backup / Restore and look above the Backup Now button. If there’s an in-progress job showing, hit delete/stop on it, wait 5 minutes and try a manual backup again.
If it still says the same thing every time, the lock isn’t clearing on its own. Two things worth checking: open wp-content/updraft over FTP or file manager and see if there’s a leftover lock file in there you can delete (only while no backup is running), and if your site sits on network storage some hosts don’t play nice with file locks at all. In that case ask your host, or try the backup again after clearing any object cache (Redis/Memcached) since lock info can get stuck there too.
If none of that does it, post which UpdraftPlus version you updated to and whether WP-Cron is disabled in wp-config. That narrows it down fast.
That DROP isn’t touching your data. wfls_role_counts is a little scratch table Wordfence’s login security rebuilds to count users per role, so it drops the old copy and makes a fresh one. The fatal means your database user isn’t allowed to run DROP (or CREATE) on that database, which some hosts lock down.
To get back in: open your host’s file manager or FTP, go to wp-content/plugins and rename the wordfence folder to wordfence-off. WordPress deactivates it and the site loads again.
Then check the DB user’s privileges. In cPanel that’s MySQL Databases, click the user next to your database and make sure ALL PRIVILEGES is ticked (CREATE, DROP and ALTER are the ones that matter here). If you can’t change it yourself, ask your host to grant those on your WP database. Rename the folder back, log in, activate again and it should build the table fine.
Worth knowing too: other plugins that run updates will hit the same wall later, so fixing the privileges now saves you a repeat of this.
That one isn’t actually WooCommerce. The path points at woocommerce-products-filter, which is the HUSKY product filter plugin. It’s only a warning, so nothing is broken, it’s just being printed on the page where your visitors can see it.
To hide it right away, open wp-config.php in your host’s file manager. If you see define( ‘WP_DEBUG’, true ); change true to false. If you want to keep debugging on, add define( ‘WP_DEBUG_DISPLAY’, false ); right under it so warnings go to the log file instead of the screen.
Then update HUSKY to the latest version, since newer PHP versions are stricter and plugin updates usually patch these. If it still shows up in the log after updating, post it in the HUSKY plugin’s own support forum with the line number. Their devs will see it there, the WooCommerce team won’t be able to change that file.
Your two examples are a really clean repro. My guess is the undo for a multi-item cart goes through the ajax cart refresh, while emptying the cart reloads the whole page, so only the first path got broken in 11.2.x.
Before blaming Woo though, rule out the site. Install Health Check & Troubleshooting, turn on troubleshooting mode (it only affects you, visitors see the normal site), switch to Storefront with just WooCommerce active and run example 1 again. Keep the browser console open when you click Undo and see if a JS error shows up.
If a page cache plugin is running, double check the cart page is excluded too. A cached cart does odd stuff like this.
Still broken in troubleshooting mode? Then it’s a real regression and worth an issue on the WooCommerce GitHub with exactly what you posted here. Meanwhile WP Rollback can put you back on the last 11.1 release if undo matters for your store.