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.
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!