Home Forums Backend Issues (wp-admin) Slow update for large number of ACF Fields Reply To: Slow update for large number of ACF Fields

  • Like I said above, I have flagged this thread for E to look at when he has time but I can’t say if he will or if he will comment.

    I run into the same problem with ACF pro. It has some more optimization but eventually you still run into the problem.

    The site I mentioned above uses ACF Pro and to give you an idea of the problem I was facing.

    One post type has a repeater field that lets the client add sections to a page. Each section actually represents a page of a printed publication. Each section can have up to 7 content areas. Each content area has controls that allow the client to specify the formatting of the block including padding, background, border, font color and I’m sure some things I don’t remember. So ff they add 10 sections that means they have up to 70 WYSUWYG editors plus the related settings fields for each. I created an interface using ACF Pro that was extremely easy for them to use, but I did not realize I would run into the updating problem.

    Having run into this problem I now make a special effort to think about how much data the client might try to add. If I could go back to the beginning of that project I would create a parent/child structure to the custom post type where each “Page” section was a different post. It would have been a bit more difficult for the client to use but would have avoided the problem that they now have to work around.

    This hasn’t changed my opinion of ACF, I still think it’s the best tool for the job I need to do, but I have a better handle on it’s limitations.

    What I would like to see is not using the WP update meta function and use $wpdb to build queries to insert or update all of the needed database rows in a single query. I started looking into this when I had the problem but could not figure out a safe way of bypassing or cancelling what ACF was doing. I would still like to figure something out but it’s been put on a back burner do to my current workload and other projects that I need to get done.