0

I'll try to be terse:

We host events for clients and offer to create an 'event page' for them as part of their package - they can direct users to this page to see the event schedule, dates, speakers, etc.

My current client has an excruciatingly long page, made up mostly of a huge number of Sessions & Speakers, and at this point, Wordpress has stopped allowing me to add new content to the end of the page.

For example, I could add content to the end of the page, hit 'Update', and nothing appears on the page. When I go back into the Page Editor and refresh, all the content I've inputted/updated is gone.

Likewise, if I decide to add something into the middle of the page - for example, if I started adding speakers to the Sessions that were already created, and hit 'Update' - it DOES insert the addition, but then erases content from the bottom of my page to make up for the content I've just added above it.

It seems to me like I've hit a maximum length for the page, but I can't find any other posts about it - does anyone know what this issue is? And if so, can I pay for some sort of premium to add to my page length?

Seeking help urgently. Thank you so much in advance!

3
  • 2
    post_content is a LONGTEXT field, meaning it can record 4GB of data, or over 4 billion characters. Assuming you have a standard WP configuration, this seems unlikely to be the issue.
    – vancoder
    Commented Jul 2, 2021 at 17:54
  • which editor, what is the wordpress version? Commented Jul 2, 2021 at 18:12
  • Which theme? Is this a commercial theme? In which case, all bets are off.
    – vancoder
    Commented Jul 2, 2021 at 18:35

1 Answer 1

1

I don't believe WordPress itself has a max size. However, the database behind it has a max length that the wp_posts.post_content field can be.

If we look in wp-admin/includes/schema.php, we can see the SQL used to create the wp_posts table:

CREATE TABLE $wpdb->posts (
    ID bigint(20) unsigned NOT NULL auto_increment,
    post_author bigint(20) unsigned NOT NULL default '0',
    post_date datetime NOT NULL default '0000-00-00 00:00:00',
    post_date_gmt datetime NOT NULL default '0000-00-00 00:00:00',
    post_content longtext NOT NULL,

post_content is a LONGTEXT type of field. That may mean slightly different things depending on your database.

Looking up the MySQL length for LONGTEXT, you're looking at 4294967295 bytes or roughly 4.2 gigabytes. You're probably no where near close to that, however, you're probably at the point where either your database, web server, or some other part of your pipeline is giving up because there's too much to handle.

Also note that the data is form submitted and POSTed back to the server - according to this answer, there are several factors that come into play when it comes to POST data length limits.

To summarize: it's hard to tell what exactly is causing your problem, and without some trial and error on your part, and your own investigation, you won't find much of a solution here that deals with your immediate issue.

However, I would propose that you work to find a better solution that storing this in the post content. Honestly, even storing each new entry in it's own post_meta field would be better to some degree. Ultimately, moving this much data around in a single page is going to be problematic - it's already an issue for you, and it will only get worse.

1
  • 1
    "You're probably no where near close to that". Ha, the bible only has 3 million characters, so I think it's a safe bet.
    – vancoder
    Commented Jul 2, 2021 at 18:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.