r/Wordpress

▲ 73 r/Wordpress+1 crossposts

I migrated 60k pages from a dead phpBB forum to WordPress using raw SQL

My client had a phpBB forum that died 5 years ago. 60,000 topics, ~180k comments, spanning 2008-2020. He wanted to preserve the content. WordPress was the practical choice (my opinion) for long-term manageability.

Every migration plugin I tried was either abandoned, broke above 5k posts, or couldn't handle phpBB's schema at all. So I wrote a custom PHP script that connected directly to MySQL and streamed data in batches.

The setup:

  • Ran everything in Docker: phpBB container (old DB), WordPress container (new DB), PHP script as a third container
  • My workflow: if something broke, I'd just docker compose down -v && docker compose up -d and start fresh from clean images
  • This let me test aggressively without worrying about corrupting state

The approach:

  1. Connect to both databases: PDO to phpBB (read-only) and WordPress (write)
  2. Batch process topics: SELECT with LIMIT/OFFSET, 500 rows at a time. Loop until no more rows
  3. Map phpBB tables to WordPress:
    • phpbb_topics + phpbb_posts (first post) --> wp_posts
    • phpbb_posts (replies) --> wp_comments with comment_parent
    • phpbb_forums --> wp_terms (categories)
    • phpbb_users --> just usernames (no emails/passwords for privacy)
  4. Convert timestamps: phpBB uses Unix integers, WordPress wants YYYY-MM-DD HH:MM:SS
  5. Handle comment threading: iterate replies in order, chain comment_parent to previous ID
  6. Add indexes on temp tables before big JOINs: otherwise 60k rows is slow

What I removed:

  • User emails and passwords (privacy)
  • Profile pictures (not worth it for dead forum)

Results:

  • 60,247 topics --> 60k WordPress posts
  • ~180k comments with threading
  • All timestamps preserved (2008-2020)
  • Some data was lost
  • Total time: 1 day including testing, debugging, redoing from scratch 7 times

Bonus: Client found a way to monetize the archive (backlinks... somebody's still buying them). So dead forum became an asset.

If you want the code, describe the setup to any AI and it'll generate it, the approach above is the hard part.

Anyone else done migrations this big?

reddit.com
u/dzimazilla — 1 day ago

Images have frame after update Wordpress 7.0.

The website images (frontend) all have a frame after the Wordpress update 7.0. Does anyone know the cause or solution?

reddit.com
u/FDH02 — 1 day ago
▲ 26 r/Wordpress+1 crossposts

ThemePunched Below The Belt - Life Support Removed Without Consent

Since 2013, I've purchased four (4) Slider Revolution plugins with "lifetime" licensing, and I've honestly only used the Slider Revolution WordPress plugin for creating fancy photo sliders for my various page heading (I'm a property photographer) and to use a few of its themes.

But the update to SR7 now forces us lifetime customers to become subscription-based customers, and you gave little thought to honour the thousands of faithful customers who bought lifetime subscriptions.

And to add insult to injury (but not too surprising given the vulnerabilities we've faithfully endured over the years), SR6 produces a vulnerability that cannot be corrected unless one subscribes to SR7.

Warning: * Unknown WordPress core version: 7.0. Unauthenticated Sensitive Information Exposure via 'sliders/stream'.

Lovely. It was a nice ride but our time is done ThemePunch.

For you not to even think about offering and honouring a "lifetime" license for those who bought lifetime licenses speaks volumes about your company.

So now you're forcing me (and countless others) to move to another more affordable provider.

I'm choosing LayerSlider where I can pay just £155 ($207) for a "lifetime plugin" for three sites. I'm sure thousand will do the same.

In a world where nearly everything online is now subscription based, you folks still have not clued-in that you are not the only option. You're just following the others like lemmings off a cliff.

Cheers,

Frank

reddit.com
u/frankbiganski — 1 day ago

WordPress 7 might be the biggest core update in years

I tested WordPress 7 recently, and honestly the AI changes are bigger than most people realise. The new centralized AI system could make AI plugins way cleaner long-term.

I’d still recommend testing on staging first if you use Elementor or WooCommerce heavily.

reddit.com
u/sina2004158 — 1 day ago

I recently updated to WordPress 7.0, and I’m currently exploring this question: Will WordPress release its own MCP that can directly integrate with AI tools like Claude?

If anyone try please shared you experience.

reddit.com
u/poojan_12 — 1 day ago

What made your WordPress workflow noticeably better recently?

Feels like everyone eventually finds that one thing that suddenly makes WordPress way less frustrating to work with. What was it for you

reddit.com
u/Same-Court-2379 — 1 day ago

Help me diagnose why more than 19 people did not sign up (Weird case)

Hi everyone, I have a single page application built on WP with a lot of custom code and Nextend Social Login plugin.

A few days ago, one of my posts did very well, in the first 3 hours before the midnight, I gained 19 new signed up users from 87 visitors.

During the 2nd day, traffic and app usage were both 8x higher compared to the previous day, but the number of registered users was still 19,

18th of May, I made a post at 9:00 PM and till now I had these results:
18.05 - 87 visitors, 37 tool usage, 19 sign ups
19.05 - 692 visitors, 291 tool usage, 19 sign ups (weirdly)

Can it make sense for anyone here?

reddit.com
u/TooBadBoutThat — 1 day ago

Custom HTML not visualizing since 7.0 update

Hey all. I run a site that's on Wordpress. The person who did the initial set up is long gone, and I've been tripping my way through to keep it running since. As such I do not do WP sites for a living and, overall, am still a noob about this all. So please bear with me as if I am a 5yo.

tl;dr version: After WP7.0 dropped, we appear to have lost the visualization of the Custom HTML block (and our own Center Custom HTML pattern) when drafting a post.

Long version: I was unsure where this problem was rooted so I sequentially deactivated any "add on" plugins for Elementor and then Elementor itself, and the block was 1) still there, and 2) still having problems. So I am assuming that this block is part of the core WP. Anyhow,

We add the block, and click on HTML to add the code into the new pop-up window (in this case, a music embed). Once we enter the html code and click Submit, the entire block disappears in the UI. If you're clever, and remember where it is, you can click on the empty space and bring up the block options. Otherwise it's just a misleading blank area.

https://preview.redd.it/1inkrfghjh2h1.png?width=1320&format=png&auto=webp&s=a3264d0655a5e465c6710313f14606d977692455

The good news is that when you preview or post, the Custom HTML block is there and its contents are displayed.

However, many team members are even more technologically-impaired than I am, and this empty space is really freaking them out and throwing them for a loop.

Any ideas on what I can do to remedy this? Or is this a wide problem with the new WP7.0?

Any assistance or direction would be greatly appreciated.

reddit.com
u/georgetimberhill — 1 day ago

Forced WP 7.0 update?

My production site just auto-updated to 7.0 despite having auto-updates turned off in wp-config. After update to 7.0, my wp-config rule was gone. Thankfully everything seems to be working fine, but wtf? Why the update was forced? Did anyone's else WP update itself despite being explicitly told not to?

reddit.com
u/kacperq — 1 day ago

Vikbooking wpml

Hi everyone,

I’m running a small accommodation website in WordPress using WPML + VikBooking and I’m struggling with multilingual URL issues.

Current setup:

  • Main language: Dutch
  • Secondary language: English
  • WPML language format: directories (/en/)
  • Booking system: VikBooking

The problem:
Some English VikBooking links ignore the /en/ structure and redirect incorrectly. For example, instead of:

it sometimes links to:

This causes:

  • wrong language pages
  • occasional 404s
  • inconsistent redirects

What I’ve already checked:

  • permalinks flushed
  • translated pages exist
  • English shortcodes/pages created
  • WPML language switcher works
  • cache cleared
  • some manual URL fixes

My questions:

  1. Is WPML generally reliable with VikBooking in production?
  2. Are these issues usually caused by permalink structure or plugin compatibility?
  3. Has anyone solved similar VikBooking multilingual URL problems?

Any advice or experience would be hugely appreciated.

reddit.com

WordPress 7.0 Explained: AI Connectors + Abilities API

TLDR: WP 7.0 lets you run an agent inside of WordPress.

What's the big deal?

I'm been working with WordPress 7.0 betas and RCs and I didn't understand what the new features were all about at first. The big new features is one new page for setting up AI connectors. But it was basically empty because there were no AI providers shipped with 7.0. You have to install them as separate plugins.

It just shipped something much better: a PHP AI SDK that can be used by any plugin. Paired with the new Abilities API all kinds of new things are possible.

How AI Connectors work

Instead of every plugin bundling its own OpenAI/Anthropic/Google integration (with its own settings page, its own key storage, its own rate limiting), WordPress now has one canonical way to talk to AI providers.

You call wp_ai_client_prompt() and the SDK handles:

  • Provider selection
  • Credentials
  • Retries
  • Model discovery

Connector plugins (Anthropic, OpenAI, Google, local Ollama, etc.) register themselves once, and every AI-aware plugin on the site shares them.

> No more re-entering API keys in five plugins. No more "which plugin is burning my tokens?" No more provider lock-in.

How the Abilities API fits

The Abilities API lets any plugin register a capability — "save a memory", "search products", "draft an email", "publish a post" — as a structured, schema-described function. Each ability is just wp_register_ability() with an OpenAI-compatible JSON schema.

The magic: AI models can discover and call these abilities as tools. Your LLM doesn't need a custom integration with WooCommerce, Yoast, or Gravity Forms. It asks WordPress "what can I do here?" and gets back a tool catalogue.

What this unlocks

This is the foundation for WordPress becoming an AI-native platform — not "a CMS with an AI plugin bolted on", but a substrate where agents can reason about and act on your entire site through standard interfaces. You don't need to setup several MCPs or any MCPs to start using AI agents with WordPress. The AI agent can run inside the admin.

Why it makes SD AI Agent possible

Once I realized all the building blocks were in place I implemented an Agent loop using the WP 7.0 AI client. It worked better than I expected.

SD AI Agent is built entirely on these two APIs:

Capability How it's built
30+ registered abilities (memory, skills, knowledge base, tool profiles, automations, benchmarking) wp_register_ability()
Every model call wp_ai_client_prompt()
Provider/model selection WordPress Connectors API

We wrote:

  • Zero provider integration code
  • Zero API key management UI
  • Zero tool-calling plumbing

Just an agent loop and a the conversation UI on top. Takes advantage of any registered abilities from other plugins. The more plugins that add abilities the better it will become.

reddit.com
u/superdav42 — 1 day ago

Avada Builder suddenly stopped working site-wide

Hi everyone, I would appreciate getting some help from you.
Avada Builder suddenly stopped working across my WordPress site and I’m trying to figure out what issue this is and how to fix it.

The frontend website still works perfectly and all page content exists - Fusion Builder shortcodes are still visible in the text editor. But Avada Builder either spins forever or shows a popup with an error message. The Default Editor also mostly doesn’t respond.

I firstly tried to deactivate unnecessary plugins one by one, but Avada Builder still fails to initialize across pages. I also reset Avada cache and hard refreshed. Still no luck.

Avada version is V7.7.1

Has anyone seen this before and do you have any suggestions what I should do?

Browser console shows these errors:

[Error] TypeError: _.isArray is not a function. (In '_.isArray(t)', '_.isArray' is undefined)
(anonymous function) (jquery.min.js:2:31711)
[Error] TypeError: _.debounce is not a function. (In '_.debounce( self._refreshPaletteGlobalColors, 500 )', '_.debounce' is undefined)
(anonymous function) (jquery.min.js:2:31711)
[Error] TypeError: _.debounce is not a function. (In '_.debounce(s,1e3)', '_.debounce' is undefined)
(anonymous function) (jquery.min.js:2:31711)
[Error] TypeError: F._.throttle is not a function. (In 'F._.throttle(function(){var t=F.scrollX||document.documentElement.scrollLeft,e=F.scrollY||document.documentElement.scrollTop,o=parseInt(i.style.height,10);i.style.height=Y+"px",i.scrollHeight>Y&&(i.style.height=i.scrollHeight+"px"),void 0!==t&&F.scrollTo(t,e),i.scrollHeight<o&&p()},300)', 'F._.throttle' is undefined)
(anonymous function) (jquery.min.js:2:31711)
[Error] TypeError: _.extend is not a function. (In '_.extend(g,window._wpUpdatesItemCounts||{})', '_.extend' is undefined)
(anonymous function) (jquery.min.js:2:31711)
[Error] TypeError: _.each is not a function. (In '_.each(patcherVars.args,function(a){var e,t,p;void 0!==patcherVars.patches[a.context]&&0<patcherVars.patches[a.context]&&"none"!==patcherVars.display_counter&&(e=jQuery("#adminmenu .toplevel_page_"+a.parent_slug+" .wp-menu-name"),t=jQuery("#adminmenu .toplevel_page_"+a.parent_slug+' ul.wp-submenu li a[href="admin.php?page='+a.context+'-patcher"]'),p='<span class="avada-patches-count update-plugins count-'+patcherVars.patches[a.context]+'" style="background-color:#65bc7b;margin-left:5px;"><span class="plugin-count">'+patcherVars.patches[a.context]+"</span></span>","sub_level"!==patcherVars.display_counter&&jQuery(p).appendTo(e),"top_level"!==patcherVars.display_counter&&(jQuery(p).appendTo(t),jQuery(p).appendTo(jQuery(".avada-db-menu-sub-item-patcher .avada-db-menu-sub-item-label"))),jQuery(".avada-db-maintenance-counter").show())})', '_.each' is undefined)
(anonymous function) (jquery.min.js:2:31711)
[Error] TypeError: _.sortBy is not a function. (In '_.sortBy(fusionAllElements,function(e){return e.name.toLowerCase()})', '_.sortBy' is undefined)
(anonymous function) (jquery.min.js:2:31711)
[Error] TypeError: _.extend is not a function. (In '_.extend(FusionPageBuilder.ElementSettingsView.prototype,FusionPageBuilder.options.fusionDynamicData)', '_.extend' is undefined)
(anonymous function) (jquery.min.js:2:31711)
[Error] TypeError: _.memoize is not a function. (In '_.memoize(function(e){return new RegExp("\\[(\\[?)("+e+")(?![\\w-])([^\\]\\/]*(?:\\/(?!\\])[^\\]\\/]*)*?)(?:(\\/)\\]|\\](?:([^\\[]*(?:\\[(?!\\/\\2\\])[^\\[]*)*)(\\[\\/\\2\\]))?)(\\]?)")})', '_.memoize' is undefined)
(anonymous function) (jquery.min.js:2:31711)
[Error] ReferenceError: Can't find variable: FusionPageBuilderApp
(anonymous function) (jquery.min.js:2:31711)
[Error] TypeError: _.each is not a function. (In '_.each(n,function(e,i){void 0===fusionAllElements.fusion_widget.params.type.value[i]&&jQuery.map(fusionAllElements.fusion_widget.params.type.value,function(t,o){t===e.name&&(e.title=o,n[o]=e,n[i].delete)})})', '_.each' is undefined)
(anonymous function) (fusion-builder.js:1:130617)
c (jquery.min.js:2:28333)
fireWith (jquery.min.js:2:29074)
l (jquery.min.js:2:79913)
(anonymous function) (jquery.min.js:2:82357)
reddit.com
u/No-Quality9399 — 1 day ago

Anyone a little ticked off that classic editor is behind a paywall now?

I've been doing a blog for almost 20 years now and I've really struggled with Wordpress with their random changes, but this might take the cake since now it's difficult to do my posts as it was done in a specific way and needed the classic editor....

reddit.com
u/SolarstarValke — 1 day ago

Wordpress 7’s new AI stuff - what’s the point?

OK, maybe I missed something. But I don’t see what the point of all this AI stuff being integrated into WordPress is for? What are some practical examples of what this could be used for?

reddit.com
u/SoccerGuy-3 — 1 day ago

After ~20 years with WordPress, this new admin UI finally broke me

I've been using WordPress for nearly 20 years. I stayed through all the changes, redesigns, editor wars, UI experiments and everything else.

But this new admin experience honestly killed it for me.

The old WordPress admin wasn't beautiful. It wasn't modern. But it was fast, familiar and efficient. After years of daily work, muscle memory matters. I manage multiple websites and spend hours inside wp-admin every day. The interface used to disappear and let me work.

Now it feels like everything became bigger, brighter, more distracting and less practical.

The colors feel off. The editor UI feels bloated. Random visual elements pull attention for no reason. Even the site icon/favicon during post creation somehow manages to distract me.

I never thought I'd say this, but I am seriously considering creating a plugin just to bring back a classic admin feel and workflow so I can work efficiently again.

And if many long-term users feel the same way, maybe this says something.

P.S. Huge greetings to the designer responsible for this redesign. This may genuinely be the worst admin UI change I've experienced in WordPress.

Edit:

Am I the only one feeling this?

I've used WordPress for nearly two decades and this is genuinely the first update that made me want to change the admin itself instead of adapting to it.

Are long-time users actually happy with this redesign, or are people silently installing plugins and CSS fixes already?

reddit.com
u/Least_Base6657 — 1 day ago

Wordpress 7?

I just got notice it’s here. Has anyone tried it yet? Any thoughts or words of advice or caution? I’m interested in hearing your opinions

reddit.com
u/a2annie — 2 days ago

Help! Can't delete Monster Insights.

Whenever I try to delete the Google Analytics/Monster Insights plug in I get the following message: "Deletion failed: There has been a critical error on this website.Learn more about troubleshooting WordPress." The plug in itself is broken too, and says "cache miss," showing 0 traffic. Any help would be appreciated!

reddit.com
u/AurynW — 1 day ago

Do Modern Websites Focus Too Much on Looks and Not Enough on Usability?

I have noticed that many modern websites look great but are not easy to use. Sometimes simple layouts, fast loading speeds and clear navigation make a website better than designs with too many effects and animations.

Websites should be easy to use. Businesses and designers should focus on usability instead of just making the website look good. Do you think businesses and designers make websites too complicated and forget about usability?

reddit.com
u/Ok-Type8092 — 2 days ago

Name your top wp audit tools

Been looking at inspectWP but it gets slugish sometimes.

Wondering if any one here has better recommendations without the need to install a plugin.

reddit.com
u/Born-Ad1717 — 1 day ago