Home › Forums › Add-ons › Flexible Content Field › Best usage of Flexible Content
I’m wondering about the Flexible Content and how best to utilize it on larger-scale websites. So basically a website with maybe 40-50 Layout types e.g. a Hero Image layout, a CTA layout, an image and text layout etc etc
Is it best to…
a) Set up just one large Flexible Content field, with EVERYTHING I need in it, and just pick and choose what I need to include through the page editor?
b) Set up multiple Flexible Content fields, and set the rule to target a particular Template type? This would probably mean setting up multiple templates also.
I know there is probably no one correct answer to this, but looking for insights and peoples experience, don’t want to go too far down the rabbit hole using it the wrong way.
We have set up a couple of projects with ACF Flex and although it is very slick, there are some annoyances and we are leaning towards just sticking with templates with includes.
It’s great if you have a site or an area on a site where every page will have a different layout.
But if you have pages where content is to be laid out the same it’s best just sticking to a template with the fields you need for that template. That way they can be reordered on a bulk basis.
Reordering flex layouts for 30+ pages that need to stay the same is not a pleasant experience whether you are a dev or a content editor.
If anyone has found a great way to utilise flex content that is also manageable on a larger scale – I’d also be interested to hear!
I use flex fields for creating what we call “panels” that do specific things but allow the client to control what content is in them. We specifically limit what can be controlled. We are using bootstrap. One of the panels is called “columned content”. It allows the client to create columns, however they cannot control the width of each column. They can just choose the number of columns (1, 2, 3, 4 or 6) and then add content for each column. There are a few other settings, but very few. I am currently thinking about how to create a layout that lets the client choose the widths of columns so they can create things like 60/40 2 column “panels”, but it’s not something they need right now.
We have other “panels” that do other specific things. One of them allows them to select related posts and add text.
These posts are shown on the front end in a grid using an image and the text is over the image, each image being a link to the post. The client has no control over how the front end will appear but they can control what content is used and the order that it is shown.
I find that the use of flex fields is best if you can break your “layouts” down to things that are more generic. For example the one I describe for columns.
But it depends on the client and what they are trying to achieve. For example one client simply wanted something like the related content layout, but that’s all they wanted, and this would always appear below “the content”. In this case I simple created one field group with a repeater to allow it and applied it to all post types as it was much easier and achieved the result that needed.
It isn’t just about the best way to use the flex field. It is also what is the right decision for each client. If you’re going to shoehorn everyone into using the same “layouts” then you either need you may as well give them one of the existing page builders.
What I like about ACF is that it allows me to give each client an intuitive admin that meets their needs without having a lot of extra stuff that they’ll never use.
You must be logged in to reply to this topic.
Welcome to the Advanced Custom Fields community forum.
Browse through ideas, snippets of code, questions and answers between fellow ACF users
Helping others is a great way to earn karma, gain badges and help ACF development!
❓Ever wondered when and why ACF uses JSON instead of the database? Check out our summary of the most recent session of ACF Chat Friday for the answer, and make sure to register for the next session.— Advanced Custom Fields (@wp_acf) February 23, 2023
© 2023 Advanced Custom Fields.