Interview – Advanced Custom Fields, the past, present and future
So you have a WordPress site and you’re really happy with it. You create posts and pages and it’s all working out great. Then one day you think to yourself that it would be nice if WordPress could do more than just create pages and posts. You want posts that are related to something specific, like cars or cooking. You have data that you repeat on all the posts that you create and you’re getting fed up of having to manually input that data into your posts.
Enter Advanced Custom Fields. It’s a way of creating repeatable content and SO much more.
I’m often asked by people why they might need custom fields and it always surprises me that so many people have not had a play. Seriously, if you’ve created Custom Post Types and added some Custom Fields, stop reading this and go and have a play right now.
Advanced Custom Fields is created by today’s guest Elliot Condon, and it’s one of the most popular plugins for WordPress… Period. It’s super easy to use, easy on the eye and has integrations with just about any other plugin that’s out there.
We had Elliot on the WP Builds podcast talking about Advanced Custom Field (aka ACF) back in episode 75, and a great deal has changed since then. During this podcast we do talk about the purpose of ACF, but we get into a whole lot more as well.
We get personal and talk about some of the changes that have occurred to Elliot over the last couple of years. How he’s become a father and had to adjust his life to fulfil this role. He’s also moved to a different part of Australia; a part that is sunnier, and there’s literally no jealousy from me at all about his new location!
We also talk about the fact that ACF has gone through some major changes. Prior to WordPress 5.0 dropping in late 2018 plugins like ACF were in what felt like some kind of race to update their plugin so that it would offer compatibility with the new Gutenberg editor. Elliot talks about how this was a hard race to be in as the goal posts kept shifting and information about the direction of the Block Editor (Gutenberg) was not easy to find.
For someone like you or me, this period of time was interesting to watch and sometimes frustrating, but for someone like Elliot, this was really challenging. His entire business was based up on a WordPress UI that was going to be replaced and so knowing what the replacement looked like and how it worked was important!
We also talk about a really nice innovation that Elliot pulled off in his “ACF Blocks”. A way of creating blocks without the need to learn complex new technologies. Elliot of course did have to learn the complex new technologies such as React to get all of this going, and I for one am glad that he did, so that folk like me don’t have to. Now I can create Blocks for the Editor in a matter of minutes using all of the fields that ACF provides to me. If you’ve not tried this, it’s super powerful and makes working with the block editor surprisingly fun.
We also get onto the topic of pricing because people have been pestering Elliot to put his prices up for years. Yes, you read that right, pestering him to raise his prices!
Ever since ACF Pro brought us all the additional goodies that it did, the pricing was a lifetime deal for unlimited sites. Being a plugin of great power and the fact that it’s spectacularly easy to use meant that it grew and grew and grew. Support costs went up and a rapid rate, but the finances did not follow the same curve. So he decided to go the way that all other plugins have and offer a subscription model. You can find out about that here…
Now there are x3 option:
- Personal – 1 website – $49 per year
- Freelancer – 10 websites – $149 per year
- Agency – unlimited websites – $249 per year
I still think that Elliot should put his prices up, even after he’s put his prices up!
Finally we talk about the future of ACF, what plans he’s got in store for the future, and it’s interesting to note that Elliot still thinks that ACF has got a whole load missing.
This is a long podcast, but it’s well worth a listen. Elliot is such a thoughtful and likeable speaker and is personally responsible for one of the most popular plugins! Go check it out!
Mentioned in this episode:
The WP Builds podcast is brought to you this week by…
The home of Managed WordPress hosting that includes free domain, SSL, and 24/7 support. Bundle that with the Hub by GoDaddy Pro to unlock more free benefits to manage multiple sites in one place, invoice clients, and get 30% off new purchases! Find out more at go.me/wpbuilds.
It’s like Black Friday, but every day of the year! Searchable, filterable list of WordPress products, with exclusive pricing for WP Builds listeners!
Check out the deals now…
We thanks them for their support of WP Builds.
Transcript (if available)
These transcripts are created using software, so apologies if there are errors in them.
Nathan Wrigley: [00:00:00] Welcome to the WP Builds podcast, bringing you the latest news from the WordPress community. Now, welcome your host, David Waumsley and Nathan Wrigley.
Hello there, and welcome to the WP Builds podcast. This is episode number 169 entitled advanced custom fields, the past, present, and future. It was published on Thursday the 5th of March, 2020 my name is Nathan Wrigley and I'll be joined a little bit later. Bye Elliot Condon from advanced custom fields so that we can have our interview.
But before that, a couple of things to mention, largely to do with WP Builds and what we do to assist the WordPress community. You can find it all at wpbuilds.com but some specific pages, WP Builds.com forward slash subscribe. We'll enable you to keep up to date with all that we do on the podcast. We've got
Episodes coming out on a Thursday. That's what you're listening to now. It's either an interview or a discussion with my friend David Waumsley, or on a Monday we do two things, or 7:00 AM UK time. We publish the WordPress weekly news where I sum up the WordPress news from the previous week in audio form.
It's basically another podcast, and then we do a live version of that news over in our Facebook group or wpbuilds.com forward slash live, and it's me joined live with. A few notable WordPress people and we chat through all of the latest news from the previous week. As I said, you can find that in our Facebook group, which is at the wpbuilds.com forward slash Facebook and there are links in that subscribe page to our Facebook group and our YouTube channel and a whole bunch of other places as well.
So one more time, WP Builds dot com forward slash subscribe. Oh, the popular page on our website is WP Builds.com forward slash deals, it's bit like black Friday, but every day of the week, some people in the WordPress space, you've got plugins, services, themes, all of that kind of stuff. They've reached out to with, with coupon codes, which are permanent and never ending.
So you might want to go and check them out if you're in the market for buying something, and of course there's always options to advertise on the WP Builds podcast. If you'd like to get your product or service in front of a WordPress specific audience, you can find out more at wpbuilds.com forward slash advertise.
Okay. Let's get on with the main event today, which is an interview with Elliot Condon. I'm joined all the way from Australia by Elliot. He is the founder, the chief at advanced custom fields. Now this is one of those plugins that kind of, it's grown to such an enormous extent. I know almost nobody who either doesn't use it or.
You know, who hasn't at least tried it at some point. Enormously popular way of putting custom data into, well, just about any area of your WordPress website, be that posts or users or just about anything. And you know, for example, you can have dates and images and you can add free form text and you can link it all up and get combinations of page builders and.
PHP template files you can do just about anything with all of that data. Well, it's been an interesting time. Elliot was on the show a couple of years back now, and he's had to change quite a lot since then. Should we say, not only has he got a growing family, but also we've had the advent of Gutenberg WordPress 5.0 brought around Gutenberg, and this really, really did throw into question.
Awful lot of the stuff that Elliot was having to to create. He describes it as a moving target, and during that time there was, there was no real clarity. Everything felt like it was a, a real struggle because he didn't really know what he, what the end result of Gothenburg was going to be. And at one time I seemed to remember it.
There was great uncertainty about whether custom fields were going to be included in Guttenberg at all. So we talk about that. And we also talk about the new things that he's creating inside of ACF to work with the block editor, most notably ACF blocks, which is a, a really intuitive way of creating your own Guttenberg blocks without the need to learn complicated things like react.
We talk about the fact that Elliot himself, in order to build this, had to learn, react and how tricky that was. But we also talk about the future of not only WordPress and how buoyancy is about that, but also the future of ACF. And how. Very recently, he's decided to go from a lifetime price over to a subscription model, so we really, really do cover a very large amount of ground.
As I'm sure you'll agree, by the end of listening to this, Elliot is a super nice guy and I would encourage you to go and check out ACF. Anyway, without further ado, here's Elliot. Hello there. Welcome to the WP Builds podcast. Thanks for getting this far. I, I S special episode for you because I think for the second time, I think I'm going to say second time we have Elliot Condon all the way from Australia.
Last time I spoke to Elliot, he lived in a different bit of Australia, so hi Elliot.
Elliot Condon: [00:05:00] Hello everybody and Nathan.
Nathan Wrigley: [00:05:02] Yeah. So let's talk about Elliot. The person first, cause quite a lot has changed. You were just telling me before we started recording that you were on the podcast in 2018 and in all honesty, that feels like a lie.
It feels like it was about eight or maybe nine months ago, but apparently it's well over, you know, approaching two years. what's changed for, for Elliott on a personal level during that time.
Elliot Condon: [00:05:28] Yeah, a lot. Well, let's work backwards. I mean, the, the biggest recent thing was becoming a father for the first time.
So I've got an a nine month old daughter. Thank you very much. And that's obviously changed everything in our lives for the better. we've also moved, so like you said, halfway up Australia, quite luckily at the moment because of all the fires going on, we're actually. A little bit safe from all of that up in Queensland.
So that was a huge thing as well. We did the drive up here with the dogs and the baby.
Nathan Wrigley: [00:06:01] Yeah. Well that's, I mean, it's really nice. And from, again, we were talking before I pressed record. It sounds like on on many levels, you, you feel that that was a great decision. It's enabled you to have a really different approach to life and a better approach to life it feels.
Elliot Condon: [00:06:17] Totally. Yeah. Queensland's treating us really well. We've got perfect weather up here every day, which is making it really easy to work in the mornings. Don't have to battle with any cold, any too cold, too hot. It's kind of sunshine every day. Paradise, all that stuff.
Nathan Wrigley: [00:06:34] There's, there's no jealousy seeping out of every pore of my body right now. None whatsoever. It's about, it's about one degree centigrade here at the minute.
Elliot Condon: [00:06:45] There's a few, which, I mean there's spiders and snakes and humidity. It's not all perfect up here.
Nathan Wrigley: [00:06:49] Gotta be something. Yeah, that's good. Do you know, that's interesting cause that was gonna that was going to be my kind of followup question, whether or not particularly the advent of being a father. I mean, obviously moving up to Queensland presents you with all sorts of different opportunities. you know, maybe you can have a different amount of space for a yard or a garden, but having a child, really does shake things up a bit. And I was going to ask about that, whether having your, Your first bond led to a different approach to the amount of time that you allocated to work? A different emphasis on work, whether it became equal, whether it was equally important, less important, more important.
Elliot Condon: [00:07:27] Yeah, that's true. Yeah. So, so having Harper is probably the biggest shakeup to my work.
I've always been so work driven, never seen what I do as work either. Just seeing it as a game. And so in the past, you know, nothing would really equate the importance that I would place on building something. But now, yeah, having a child that's completely different. I mean, she comes first 100% and the amount of hours I do.
As a result are less. But the weird thing is I feel like I get more done. That's the really weird part. I know that I'm not at my computer as much as I used to be, but I feel like maybe I'm a bit more bit more wiser with my time allocation or with the usage of my time. Cause I know that time is so precious now, that kind of stuff.
So I think it's all been. Positive. Yeah. From a work perspective.
Nathan Wrigley: [00:08:18] Yeah. Yeah. Well, you've been really busy since the last time we spoke. An awful lot has changed. we're going back to the previous interview that we did was long before the advent of WordPress five, which I don't even think we probably mentioned WordPress by or in the block editor or Guttenberg as it was then.
I, I, that probably wasn't even on the horizon, but that became. I'm a thing. It was very important. And actually we had, we had shed yield to have an interview some months ago and for various reasons, which we may want to go into. You, you decided to send me an email and say, can we just pause on that? because of the, the, the time that you were going through, around the block editor, do you want to, do you want to get into that a little bit?
The sort of politics that was at play and what your thoughts were and how you interacted with the community in that time?
Elliot Condon: [00:09:06] Yeah. Yeah. Well, that was, so. Version five was released late 2018 yeah, that's right. Start of 2019
Nathan Wrigley: [00:09:15] yeah. November, 2018
Elliot Condon: [00:09:18] That was such a busy time in my life that I'm so glad I'm on the other side of that fence now cause that was actually just after my wedding. And my mini honeymoon as well. And, it was just this really stressful time. It just seems like I just couldn't catch a break. I think everyone goes through a couple of those things, so, but no, came out on the other side of all of that. Learning a lot.
I'm a lot wiser. Yeah. So, so yeah, we definitely, postponed the, the podcast episode probably because at the time, my, my views and opinions were probably a bit spike to be at high or a bit far to one side. Whereas, you know, now ask for, I've got a much more kind of business opinion towards everything, which is much more productive, that's for sure.
Nathan Wrigley: [00:10:16] Well, that's great. let's, let's, let's get into that. Cause I mean, we can, we could skirt around politics forever, but, we'll maybe route circle back to what we, what we think happened in that time, regarding, you know, the, the release of 5.0, but it was a major, major time now. So I'm guessing that we're spinning the clock back before.
WordPress five you at the time when it, when WordPress five was released, you sort of coincided that very much with what felt like something really innovative, really new. You were tackling a problem, which nobody seemed to have a solution for at a time when everybody was anxious. In fact, I remember there was even the community had no idea what things like ACF were going to look like during the transition over to WordPress five. We didn't know where the metal boxes were going to go. You know, if you'd use something like ACF, you had no idea what that was going to look like. Where were those fields going to appear in a post or you know, what have you. So you decided to tackle this one head on and build ACF blocks. Now. From the outside. That seems like a really, really difficult thing to decide to do and pull off. Was it?
Elliot Condon: [00:11:34] Yes. That was a really important decision and a difficult decision. One that was made under a lot of pressure as well. But ultimately one that I'm really glad that I forced myself to do and I think it, yeah, it does come from that fact that we were as plugin developers, theme authors, we were really, during the releases or the buildup to the releases, Gutenberg, we were aiming at a moving target.
We didn't quite know what it would look like. We didn't quite know what it would feel like. We didn't quite know what API APIs we had available. what would work, what wouldn't work? Things were changing at such a rapid pace. it was difficult to say the least, to have any kind of sense of, security in, in, in what was going to happen to our, our users, our customers.
which was, you know, really daunting. Never want to go through that again, type thing. And so, yeah, really encouraged me to, have a more opportunistic approach to the situation and, and see this as an opportunity to, for a new area, for ACF to. To connect into. cause when I see a first, first builder is simply just for post meta and then it's slowly crept into user meta and widgets and comments and any kind of table that had a meta and then options table as well. So with the idea of blocks being some kind of object or some kind of unit. it was a really interesting idea that it was one of those ideas that just happened over, over a drink with a friend. You know what if ACF fields would, you could put them in a block. And I just thought, no, no, no, it's, that's silly.
Why would, why would anyone want to do that? Yeah. And then, you know, fast forward to sooner to that released, I'm like, Oh, actually, no, that's a great idea. I should definitely do that. and so the funny thing was, and building ACF blocks happened really quickly because the, scaffolding and the architecture for ICF works is pretty much sorted out.
Now. There's always room for improvement, but as far as fields, field groups, location roles, rendering the fields, all of that is actually, it's pretty much sorted. if someone creates a new kind of object type, you can make ACF appear there with pretty minimal work. So the biggest problem was just understanding.
In my early thirties. it's, it's just something that, we, we honestly don't want to have to deal with. We don't want to have to, we don't want to have to learn, react if we don't have to, if we've got an established a business and established clients that are, wanting custom customer upsides. Custom WordPress applications and that kind of stuff.
Nathan Wrigley: [00:15:27] Where did you actually go to learn this stuff? Because, you know, somebody like me looking at somebody like you thinks, Oh, Elliot, you know, very experienced, probably gets, you know, opens a, a book and within a few moments it's all there and the, you know, the building blocks of reactor are there, but from the sounds of it.
Not so much. You presumably had to reach out to colleagues or I don't know, some kind of online training materials or get back into the buying of Riley books or something like that. Where did you, what did you do? How did you cope?
So it was a mega learning curve for very. it was, it was great. Like I look back on that now and, and I only see it with positivity because it really forced me to rethink, you know, different ways of, of, of writing code, different ideas. I, I love different people's interpretations of, you know, how to solve a problem and different ideas.
But yeah, reading source code, obviously tutorials to get very started was just reading other people's, write-ups, blog posts, tutorials about creating blocks for WordPress. And I'm just looking at examples, looking at other other work source code, I guess, but from other plugins and themes that were, you know, were tampering with that early block API.
Nathan Wrigley: [00:17:42] I remember a couple of minutes ago you said you were working towards a moving target, which has got an interesting phrase because now that. Gothenburg has been around a little while. It kind of feels like there's some kind of coalescence around the way it should be and it's solidified a little bit. But I'm in this period where you were trying to, trying to get your react skills up on and understand what the block editor was going to be. It was, it was changing all the time. I mean, it was, it kind of fundamentally changing to the point where you would, you would write things and then a half a week later, you'd have to just abolish all of that. And. Chuck it in the bin and begin again, because suddenly, actually, no, we're not going to do it that way anymore we're going to, we're going to change the way it works.
Elliot Condon: [00:18:26] I don't think it was like massively fundamentally changing. The ideas and concepts were, were set in stone, but the API was changing and evolving. So, you know, one week we'd, we'd see new stuff being added and then the next week some of that stuff wouldn't work.
the scary thing for me, you know, being in the custom field, sorry, in the metal box space, is that, you know, up until version WordPress version five, beta three. They did two or three cuffs, custom fields weren't even working. And that was, that was getting very close to a release candidate at that stage where custom fields legitimately did not even appear or work inside of WordPress.
And that was a really scary moment where you would just assume that that would have been sorted in beta one. And when it wasn't in beta two, and I forget if it was three when it was fixed or initially fixed. And, and then you've got all the edge case. I mean, I lived in a world of edge cases with pug reports.
So even though, you know, custom metal boxes work, they, they don't work the same way that they would in the classic editor just because people use the internet build websites in amazing and unpredictable ways. And so there's always, there's always situations where things work and don't work, and I'm to blame as much for that as well, because you know, a lot of ACF has, it's hacking WordPress.
It's, it's not really going to WordPress and committing something because it's so specific. Face CF, why would the WordPress core need it? And so you know, that's, that's a hack onto WordPress. So if WordPress changed something in that hack doesn't stick anymore type thing.
Nathan Wrigley: [00:20:13] Yeah. I see
Elliot Condon: [00:20:14] That that sort of stuff has happened a lot since, since version five going back and trying to repatch things that did work and now.
Nathan Wrigley: [00:20:23] Did it feel kind of almost as if it was deliberate, you know, if you've got to beat her two, and still there's no scope for your product apparently at that point, continuing to work. and you know, you said maybe they should have had this earlier. It would have been one would have expected that. Did it kind of fail on some level that actually, this is deliberate.
They're doing this in order to. To break things or was it, I mean, I just can't imagine what was going through your head because at that moment, your entire business is up in the air. You know? If they don't put this in, it's just going to stop working. Everything. All my, all my years of work, it just kind of evaporate in front of my eyes.
Elliot Condon: [00:21:07] I didn't think it was like deliberate in a sense that they wanted to like harm metal box. Plugin authors. but I, I totally empathize with the WordPress team in that adding in metal boxes is kind of like tarnishing the kind of. Perfect. React environment is the Gutenberg editor and adding that in. It's good for backwards compatibility, but it's also like, Hmm, this is opening up some cans of worms here.
And is this actually going to set back the project because the project is such a, a breaking change and then to be, but I mean, obviously from my point of view, I would love from custom fields to be more incorporated. I think the biggest problem that. The team faced was from a visual point of view, where do you put and fields in the new editor?
Because just just from a design point of view, the layout is not tailored to suit wired content boxes that aren't blocks. It's, it's a really odd problem. Yeah, to have within the editor because it totally wasn't a problem with the classic editor. And when you kind of create a wire frame, if the two they, they do look very similar.
It's not like it was that much of a change, but for whatever reason, the design is not, does not like custom fields. And I've tried my best to design some things and I don't think any of them are kind of good enough to release into the plugin. So just left things as they are. And they do work at the moment, but maybe metal, maybe metal boxes are.
Better incomparable, better associated with the classic editor. So maybe I do kind of agree with WordPress there with the advice usually is to use the classic editor instead.
Nathan Wrigley: [00:22:51] Yeah. Well, it's interesting. I mean, are you happy now though, in the sense of, you know. What have we got? We've probably got about 16 months under our belt since that moment where you, you, you had to get all of this working.
lots changed. The block editor has become a very different animal than I was anticipating. I didn't sort of see the emergence of blocks and whole companies, building. You know, select premade solutions to two blocks and what have you, you're happy with where it is and you sort of see the future as bright regarding the block editor.
Elliot Condon: [00:23:28] Yeah. I think where we're at is good. I think the block editor has gone through a lot of improvements since the initial, the lace. That's probably one of the fastest moving projects that I keep up with. So that is very impressive. The rate at which the Gutenberg plugin, receives updates. I'm happy that the rest of the kind of a change to react, the Gutenberg, era, I'm happy that that has kind of slowed down.
It hasn't taken over the whole admin interface just yet. And I guess that that longterm view is that. Gutenberg will become, yeah. Potentially the entire admin. at least for, for content potentially for everything. I mean, if nav menus are being added at the moment, yup. Then what's to stop users and settings and, and all of that stuff.
So potentially it will be everything, in which case. Yeah. It will be very difficult to customize WordPress admin via PHP, which is something that I know a lot of developers such as myself who have come up through, you know, versions three and four of WordPress have loved about it, that we can customize the admin so easily.
For our clients. So, yeah, I'm happy with that kind of part is slowed down because I haven't had to put out any fires anywhere else.
Nathan Wrigley: [00:24:56] Right, right.
Elliot Condon: [00:24:57] Okay. So to speak.
Nathan Wrigley: [00:24:58] Yeah. That's good.
Elliot Condon: [00:24:59] Yeah,
Nathan Wrigley: [00:25:00] It just sort of occurs to me that there may be a whole bunch of people listening to this who, Because in our Facebook group, we often get comments where people literally are, you know, they've been using WordPress for years and they, they, they have no experience whatsoever with custom fields.
And they ask, why? Why would I bother? I can achieve everything with. You know, the classic editor, or now the block editor, you know, they're, they're basically writing posts, which for which WordPress itself, all by itself is perfectly good. So it occurs to me that we should probably dwell a little bit on what ACF does and more specifically how your amazing piece of work, ACF blocks how that actually works.
So I know that seems probably slightly. You know, maybe a bit basic, but probably worthwhile. What, what relevance. Yeah. What's the point of ACF? Why would somebody want to go and use it?
Elliot Condon: [00:26:00] Yeah. Well, I mean, on one hand. The whole concept of custom fields. It's pretty old school. It's definitely not, new and emerging, movement.
So it comes from that, that previous web school of thought that you write your HTML and then when you pass this off to your paying client, that you replace the Lara MIPS and text with some sort of. Variable and allow that, that client to edit that variables content. And so. That's cool. The thought was that will, that that's what a custom field is, that you create these different fields, much like in the classic editor fields for the posts, title, the posts, content, author, et cetera, that, there could be other fields in there because when you look at a.
The spoke website, it's very rarely just text. There's usually images all over the place. And there's, there's a map and there's links and there's dynamic content, and there's featured posts on the homepage and there's a slider. And instead of going out and getting specific, plugins to handle all those individual things, you can really just strip everything back to basic.
And with advanced custom fields, you can. Five kind of form builder interface. Customize what the backend of your edit post edit page screen looks like. You can add in different fields, rearrange them, add in an image, a data repeater field, et cetera, and allow the client in a really controlled environment to edit the website's content.
Without kind of allowing them any kind of dangerous control to have a touching the website's code. So it definitely aligns more with, I guess, the professional, or at least the old school, a professional school of thought with web development, which has tried, tested, tried, trued, and trusted, tested, and, and still use today.
I mean, agencies still build with ACF. I think. That probably says the most actually, that with all the page Golders and with Gutenberg, that agencies and freelancers are like, still choosing ACF because it really is, a reliable way for, for, for handing off a project. And sometimes it's even easier.
Even if it's not for a paying customer, sometimes it is genuinely easier to use custom fields than to hard code stuff, especially when you're talking about some kind of dynamic or repeating type of tile or content. It is sometimes actually easier to just whip it up in WordPress with a, with some custom fields, and then you can associate your field data with objects and, and stuff like that.
So that's all on one hand. And then on the other hand, you've got kind of newer. newer ways to, to edit content, things like page builders, which in theory makes so much more sense to have a direct, one-to-one connection between the user and the end result to just click in edit content, hit save, and it's done.
And it's not ever taken away. You're not ever, put behind some kind of a curtain. Where you're, you're, you're handing in content to the other side that you're actually, they're editing it in, in real time. And a lot of agencies use page builders, Elementor Beaver Builder, Divi, and, and I know that there's a lot of others, so excuse me for getting them alright.
Yeah. They represent a huge chunk of the kind of premium plugin space pie. So there's obviously just like people who are opting for custom fields and that kind of like manual. A bespoke control, the same amount, even more, are using newer technologies that offer a slightly different experience, but ultimately are there to, to solve the same problem.
Nathan Wrigley: [00:30:03] So we, we have the capability in a, in a post. Let's just stick with that, in a post to . To deploy a whole bunch of different custom fields. It might be a text field or it might be some kind of image or gallery. And that's what ACF allows us to do. And in the old way of doing things, go back before WordPress five, there was a nice, there was a nice easy ish learning curve to understand how ACF worked.
And then then the block editor came along and your, you're out one night with your friend having a few drinks. And between you, you think, actually wouldn't it be nice if we could put custom fields, those custom fields, which which have always lived in our posts into a block. Now again, for somebody that's never done this, what is the paradigm shift?
What, why is this something which needed to be tackled? Well, what's different about the approach? The way that you edit, the way it looks on the screen whilst you're going through that process.
Elliot Condon: [00:31:02] Okay. There's a, there's a lot different between the two, although visually they may look similar. I think the main difference is from the data perspective, when we're talking about custom fields in the classic sense, we're talking about post, well, we're talking about meta, whether that be post med or in this case, the postmasters.
Genius. In my opinion, the way that WordPress set this up, the way that they set up their meditate balls, although it may not be the most performant way to do it, it's the most, what's the right word? A effective way to do it. I, in my opinion, for any, any number of scenarios. And so what this ultimately means is the way that the data is saved can be queried.
And that's a good thing. If you say, building a website that has a housing listings and each, each house post has the number of bedrooms, well that if that's in post meadow, then you can query that fire, you know, the get posts function or SQL if you'd like. And, and that, that makes, that data quite powerful.
And actually. Then allows you to do some really interesting stuff with, the rest API, which is a whole nother thing at the moment that's really taken off to create these headless websites. And then you build your website maybe with a static site generator or to integrate with an app. And to have this, this data is postmaster is very valuable in that sense.
And so meta only makes sense if it's, if it's data that you want to connect to a post. And what I mean by that is that it's not connected to content. And so that's the main difference between custom fields and well blocks. So with ACF blocks, you are still getting the same functionality from the visual perspective of, you know, you can create fields, you can associate them with the object.
In this case, the object is a block. And that block is a really interesting unit because this is what WordPress and are using to kind of define what content is. And so content is now made up of infinite blocks. A paragraph could be a block, a heading could be a block. And so an ACF block is just another block and a which you can buy a our PHP.
Framework defined your own block types very easily without any knowledge of Java script or without any build tools and associate custom fields to that block, which when you are editing your posts, you can, you can add. Those blocks in at any time and interact with those fields. And those fields will save data to that block and not to the post.
So when you're, when you're looking at block data or when you're looking at an ACF block, the custom fields there are saving and voting data within the actual post content. And that's a really interesting thing. I guess. The first thing to compare with post meadow is that, well, no, it can't be queried or not in any way that you would want to.
but the interesting thing is, you know, you can only have one field called hero title for your post. And that that is technically the same for a block. The thing is you can have multiple blocks on your page. So that's where things start getting really interesting. and where the, the content editing experience, I guess, is.
Is more rich, and that's definitely something that, that Gutenberg is going forward is that rich content editing experience. So I'd say that that's kind of the main difference, just where the data is saved as far as kind of from a rendering the actual HTML back out, you know, that old. Old school of thought.
It's still the same stuff. I mean, you're still creating an HTML template and it's still using all the ACF functions. And that's a really interesting, that was a really difficult, that was a difficult problem to solve, is that the most important thing to me with ACF blocks is that it felt exactly the same as meta and that all the same functions that had been.
And built up over time, we'll still work with meta and all the filters and the actions, which there are many inside ACF could still be used for that kind of rich customization experience for developers. And that was something that I was luckily able to achieve just because a good idea at the right time.
Yeah, that was, that was good. So, so yeah, so the ACF block, custom field data is saved into the block. in, inside the post content and in Gutenberg has a really interesting way of, of handling data inside a block. It saves it as a serialized, rightly serialized, Jason string inside an HTML comment, which that was a topic for debate, but that decision.
Done. That decision is made. And, I actually kind of like, I think in one way it's really smart. I mean, red X is so fast these days to pass that kind of, that kind of, that content that I'm, I'm actually all on board with it. I think it's pretty, pretty genius, although it doesn't allow for some kind of.
Structured content, that's fine because Gutenberg is not about structured content, although it has an amazing concept behind its different schemers for data inside the API, it is all about free flowing content. That is what it what it's all about. And so I think that that was a really good decision on that and that space.
Nathan Wrigley: [00:36:51] I remember at the time when you built it. And I, I don't recollect seeing a lot of posts from you saying that you are building it. What I mean by that is it kind of launched on a day and I was along with a lot of people suddenly thinking, wow, that's amazing. And I also remember a kind of tidal wave of tweets and posts and people basically congratulating you for pulling off something, which a lot of people thought was.
Well nigh on impossible, you know, tremendously difficult to do. and so I was wondering, you know, in the space of time, since you've pulled this amazing feat of coding off, whether you've received some feedback from people who've used it to deploy things, which, which you think, wow, that's ingenious. I'm really quite quite struck by you've used my tool to do this thing. That's amazing.
Elliot Condon: [00:37:47] I think the feedback is overwhelmingly positive. I don't think anyone's kind of knocked on my door and said this was a bad idea, because even if you don't like the block editor, it really doesn't. You don't have to use it. The rest of ACF is still there, so everything, everything's been positive.
I think the thing that's blown me away the most is that there are people around the world making videos and and are at WordCamps. Teaching other people about ACF blocks. And I have no idea. I'm not endorsing this stuff. I'm not, I'm not there to promote. I'm literally finding out when they tweet about it on Twitter.
But here's a link to my WordCamp. Talk about ACF. And that's really cool because in a lot of cases, you know, they're, they're digging up a lot of functionality that I haven't documented. So they've really gone into the code to understand how things work. which is. I think that's like a really good, a good piece of feedback.
Nathan Wrigley: [00:38:44] Yeah. And then has it, have people, you know, embraced it, kind of bought ACF, if you like, got into ACF because of the fact that you've built this, you know, they see this as something that they can rest their future on.
Elliot Condon: [00:38:59] I mean, I can't, I don't have any data or statistics to, to say. Either way, but I'd like to think so.
I think it's definitely an amazing kind of. Magic trick that ACF can do. It's not its primary goal and I don't think it will ever be its primary goal. ACF is always going to be about custom fields. Blocks is simply just a new location. To me, it's as as significant as the options page, location and the user.
Form your location. Yeah. So in the future there'll be other locations as well. The blocks isn't the last one.
Nathan Wrigley: [00:39:35] Yeah, it's a, it's just a really interesting time. I mean, I've, I've never, having not released a product, I can't have that sense of, wow, somebody used my product and done this thing with it. But that must be extremely gratifying.
You know, like you say, you watch a WordCamp address, somebody put together a speech and. Well, boy, not only are they talking about something that I did, they are clearly enjoying it, but they're also pushing boundaries that I didn't imagine it would be used in that way, or I didn't know it could be used in that way, and that must be remarkably satisfying.
Elliot Condon: [00:40:07] Yeah. I think the nice thing about ACF. Well, I think the nice thing that blocks is that the scope is, is quite limited. And I like that. I like working within a kind of defined area, cause I think that allows you to focus a bit more, which is good for me. That's like a bit of a. And bigger and bigger question than what I'm really talking about here.
But I do like working within some boundaries. That is always good. but with ACF blocks, I mean, there's only so much you can really do with it because at the end of the day, you're, you're, you're attaching some fields to a block, you're creating a render callback. It's, it's just to produce some HTML within a visible portion of the page.
It's content. It's a block. Data isn't ever going to be used by. You know, a headless CMS, it's not going to be used for querying or any, any kind of thing like that, but it will allow you to, if you are building an amazing rich content website, maybe a blog, article that has a whole bunch of different block types.
And your design calls for something that is very unique and you have to write that code yourself. That is what ACF blocks will allow you to do without any Java script knowledge. You'll be able to whip that up in maybe 20 minutes. Yeah. Maybe if it's the second time doing a blog and you can copy and paste and stuff from last time, it might be a five minute job to create a bespoke block from start to finish.
Nathan Wrigley: [00:41:31] That's the feedback that I'm, that I'm hearing from people in our community is just that the. Just sort of, well, not only have they now suddenly got a solution that they thought was not coming. but they've got a solution, which once they've, and it's always the same, you know, I, you know, I spent half a day doing the first one, and then the second one took me 28 minutes, and then now it's like, Oh, I just don't even think I just copy, copy, paste or whatever it might be.
And so the solutions there, and that's just lovely. It's really nice feedback. So at the time of recording, this interview with the Elliott, it's an interesting time because you're about to, you're about to embark upon a real revolution in the way that you're selling ACF. or should I say, ACF pro ACF, of course, is freely available.
And a, a mighty dealer is too, but you've got the, the pro version of the product, which I'm sure many of our listeners have either purchased or found themselves on that page in the past. for the longest period of time you've offered what is probably, I'm going to say this, one of the best deals on the internet, you know, credible pricing, and then you see the dollar sign and you think, well, that's good.
And then you see that this Australian dollars, you think actually that's even slightly better. so you've got this pricing, which has been lifetime pricing. but you've decided to make a change. I don't know if you've had any pushback on that or if you've got any, any things that you want to say about why you're doing it.
I remember seeing a. Fabulous blog posts that you put together with this bar chart, and this bar chart encapsulated for me in a way that I've never seen before. why you're doing it. I'm going to explain the bar chart very simply is costs. You know, your profit rises slowly, but your support burden on lifetime deals grows exponentially.
So essentially for a tiny amount of extra revenue generated, you might. 10 X the amount of support burden that you've got. So maybe there's a conversation to have in there, but yeah. Tell us about the new pricing and why you're doing it.
Elliot Condon: [00:43:35] Yeah, I'm excited about the new pricing, obviously for the financial aspect, but more importantly, I think it represents, a bit of a change in, maybe my attitude towards, towards ACF, seeing it more as.
A, and I, and I've always treated ACF as a professional product, but at the same time, I've maybe never soar. It, on the same level, I'll say as some of the other premium offerings, things that say elemental, is the first one that comes to mind. But there's so many. and, and so my pricing is really always, cha always stayed at this, very.
Very, consistent 25 Australian dollars, a ACF pro developer license, which was an unlimited license. That was a, $100. And that $100 was simply just the accumulation of the four individual ad-ons that I started with when a ACF pro was, was, was put out. So when I, when I did release ACF pro, when I consolidate those four ad-ons into ACF pro.
Which was who a while ago, maybe four years ago now. The pricing was literally just based on that accumulation. It was, there was no kind of thought, no business thought put into it. I just thought it was kind of a tidy way of doing it to kind of keep existing customers and maybe new customers happy. at that, that pricing is, is stayed absolutely the same since then.
Although. The, obviously the running costs a lot, a lot crater since then. And also ACF pro has gained a lot more functionality since then. Not only ACF blocks is now part of BASIX pro. but there was also the clone field, which is really crucial, a really crucial element in, anyone that's, it's exploring block page building with the flexible content field.
The clone field kind of becomes this really important piece of the puzzle. So, what I will say though, is that the response has been so positive. It's been overwhelmingly positive, and it really aligns with all the feedback I've been getting over the past few years, which is every time I jump on a call to chat to someone about, about the industry, one of the first things they'll tell me is to up my prices.
Nathan Wrigley: [00:45:57] Yeah. I seem to remember doing that.
Elliot Condon: [00:46:00] Oh, I'm sure that you have. Yeah. and so really, yeah, like I was saying, this is a bit of a change in my mentality that ACF really is competing with the other large, larger, WordPress premium solutions out there. And I think it hose it to itself to be on a similar playing field financially.
Yeah. I think it also helped ACS, She'll definitely help ACF grow in the future. As far as being able to afford to hire to grow team, support costs. Server costs is something that I massively underestimated, during my kind of web development, career through this. when you, when you've got a website or when you've got an API that has to handle millions of requests a day for update pings and if this was just going to wordpress.org that would be fine. Cause you can case that response data because it's all free. So it's fine. You'd have to validate licenses. But when you're pro from performing dynamic data and, and validating licenses, You know, every day, maybe you can bump that out to every few days with a transient.
That's fine. but it's a lot of requests when there's over a million active websites, and that can bring a server down pretty quickly. It's funny when you're used to building websites for clients, you don't even think about.
Nathan Wrigley: [00:47:20] No, no, no.
Elliot Condon: [00:47:22] They're an interesting. You don't have to think about the website going down for too many requests at all.
Nathan Wrigley: [00:47:27] No, that's fascinating.
Elliot Condon: [00:47:29] and, and, and hosting gets expensive when you go into that enterprise level or even itching on that enterprise level, it jumps, it jumps from your shared hosting. Trust me.
Nathan Wrigley: [00:47:40] Yeah. Yeah, I can imagine. So, are you willing to divulge I mean? You have on, we'll know what it's going to be, but what is the number that you're going to apply to the licenses going forwards for ACF pro.
Elliot Condon: [00:47:53] Let me pull up my actual blog post here, because my brain, as we're speaking is it's currently fill of all the subscription logic involved with implementing this change because it's not just change to the pricing. It's also becoming a yearly subscription, which is in line with the industry.
And I think that that is good for the industry that we're pushing forwards to all be better compensated. Because for a long time, and maybe this is why I originally, Mike. Prices were so low. For a long time, you know, WordPress wasn't considered a professional solution, and WordPress plugins were a bit cowboy, you know?
and then, getting someone to pay you for WordPress plugin was difficult. You know, 10 years ago. Whereas now it's, it's actually very easy. You know, WordPress is considered good. We have high expectations of WordPress, high expectations of, of WordPress plugins. If something goes wrong, we're quick to anger because we expect that if we're paying for it and it's in the WordPress space, it has to be perfect every single time.
Nathan Wrigley: [00:48:51] Do you know what, whilst you pull up that page, I'm going to offer you a different slant on your pricing, and that is to say that I think people have. done what you're about to do in terms of going from, I'm a lifetime price to an annual price, and I think some people don't. How to describe this. I think some people get more pushback than you're getting.
And the reason I think that they get more pushback than you're getting is because for the longest period of time, you've, you've shown such an amazing, ability to keep your plugin relevant, to keep it updated, to enhance it with. With no hint of, well, I'm, you know, we're going to have to force the price up.
In other words, you've been a really good guy, and I think that people have seen that. And so they want you to be successful. They love what you've built. They need what you've built. And they realize that the best way to get it to be better in the future is to, is to, you know, align your coffers a bit more than they are.
Elliot Condon: [00:49:56] It's pretty awesome. I think the whole web should be like this. Yeah, it probably is. Yeah.
Nathan Wrigley: [00:50:02] You've put, you've given a lot, and I think that you have, you've, you've shied away from profiteering from it, and I'm not for a minute suggesting that's, that's where you're going now. I really am not, but I think people.
Like people can see that a mile off, you know, they can see that your heart was in this. You've really made a great effort and money, as you've just described. You kind of made up the pricing and then just stuck with it for years and years and years. And, and so I, I think we, we, we get it.
Elliot Condon: [00:50:33] We definitely put a lot of thought went into the new pricing. I remember spending a whole day looking at every single , every single premium. Plugin and theme and offering and looking at the, you know, the, the, the amounts of the financial amounts, but also looking at, that compared to the. The, the, the audience size, because, you know, my new pricing is still quite cheap, but I believe that that's totally justified because I'm reaching such a large, larger audience than say, a niche plugin, which should charge more because they're going to sell less units and they need to be compensated for future development.
And so yeah, a bit of thought went into it so that there's going to be three tiers, which is pretty standard. I'm keeping a kind of single site license. then you go up to a 10 website license and then up to an unlimited, website license. And those increments are just 50, 150, 250,
Nathan Wrigley: [00:51:40] PA .
And, I'm sure that a lot of people listening to this will have already purchased the, the license. How does that work? Do you just basically get grandfathered in? If you purchased prior to those, those price increases, you, you'll, you'll get one of that going forward. Yeah.
Elliot Condon: [00:51:57] Yeah, definitely. So everyone that has purchased the license up until this rollout, which is maybe happening in two, three weeks, I'm still working on the actual implementation of it.
So it's kind of a changeable date. I'm not going to force myself to, to rush something. You know, to a, to a date, it'll just be early 2020 if that's February, if that's March, whenever.
Nathan Wrigley: [00:52:17] Actually, interestingly, by the time this podcast goes out that I'm sure that date will have been and gone, so we can probably talk them in the past, which is
Elliot Condon: [00:52:26] mostly in the past.
Nathan Wrigley: [00:52:27] Yeah. Which is quite good actually in . You know, which I would hate
Elliot Condon: [00:52:34] speaking to you from my yacht.
Nathan Wrigley: [00:52:38] We'll have this call in a, in a few weeks. Sorry. In a in a couple of years time. The next call in a couple of years time, you'll be wearing all this gold bling
Elliot Condon: [00:52:47] For everyone else. Everyone else can't see right now. Covered in gold.
Nathan Wrigley: [00:52:53] I can assure you this, like the rest of us wearing a tee shirt. So you were talking about, obviously, you know, no qualms about the process. Everybody's in agreement. I'm sh literally, I think to a man, everybody thinks it's long overdue and congratulations for being able to do it in such a magnanimous and honorable way.
You are talking about future development. Is it still just you. Do you have, you know, you've got a small team working in the background here that you're hoping to increase with the, well, hopefully increase revenue.
Elliot Condon: [00:53:26] It's primarily me, but I do, I do contract help, definitely on, for support. The support team who are amazing, who handle a lot of tickets.
I don't know how they do it. They handle a lot of tickets. They deserve a lot more credit than they get. supports hard like that, isn't it? Yeah. Yeah. But from, from a development, it's, it's really just me. and then the odd thing is, is handled elsewhere this year though. Gee, I've got quite the to do list.
I think this year I'm really going to have to hire some help, which is exciting and also difficult. Something. I've tried this in the past and I haven't had too much luck with it. I'm just going to keep trying though cause I know it needs to be done.
Nathan Wrigley: [00:54:07] When you say hi, do you mean kind of freelance hire or are you hoping to like bring somebody on board as a regular salaried ACF developer.
Elliot Condon: [00:54:18] Both. Right. Yeah. Either or just just development helping in one way or the other. You, yeah. Cause for a long time it, it, it just has been me developing and I mean, I'm happy doing that, but I know that I'm also going to end up holding back the project just from a feasibility point of view of how much you can actually do by yourself.
Nathan Wrigley: [00:54:42] Yeah. Yeah. So, so yeah, that's, that's definitely one of the. The big things for this year is to grow a bit of a team and see what we can do. Because there is, that's, that is, that's the burning question.
Elliot Condon: [00:54:54] There's still some, there's still some pretty big stuff missing from ACF. I mean, believe it or not, we still don't have a good, although there is a third party one, but a core integration with the rest API.
And that's something that. I have been planning probably for about a year. It's actually, it's actually a bit of a complicated beast because if someone held a gun to my head, sure, you could. I could come up with something, you know, in a week, but I would need it to be very performant. And it also overlaps with a lot of questions to do with the future of WordPress and Gutenberg and, and, and headless and react.
And. And changing the way that data is handled. How are how meta is registered? It's a bit of a can of worms, which is probably why I've held off. Right. One thing, one thing that I've definitely learned is that it's difficult. It's easy to make a decision. It's very difficult to change that decision, and so that's why I'm, I'm really cautious these days of, of adding new functionality.
it kinda, it has to tick a lot of boxes before it makes its way into the plugin. And, and pretty much every edge case has to be thought of to the point where a lot of stuff has been built and hasn't made it into the plugin just because of these edge cases. It's just not, yeah. There's a, it's just not, it's not worth it type thing.
Nathan Wrigley: [00:56:19] Right. It's interesting. Yeah.
Elliot Condon: [00:56:20] Yeah, yeah. There's a really, I, I hold a very high, although there's, you could look through ACF and you could. Pretty quickly find some code that's not great. And that's just, that's just, Pardon, parcel of maintaining a 10 year old project and look at any 10 year old project and you'll find something.
Yeah. Yeah. and, and so that's also a big part is, is that maintenance and that constant improvement of stuff behind the scenes. That's actually a lot of, a lot of, last year's work was behind the scenes stuff that made its way into both the plugin and the website for advanced. Probably make custom fields, which I actually really love that stuff because you get absolutely no credit for it because no one even knows that it happened.
But no websites broke. And there was no downtime. That's good. It's just the best. It's like, it's like sneaky stealth and silent. Your phone in silent here, or you've gone and you've done it. No one knew. And it's just so, there was quite a lot of that last year, which was cool.
Nathan Wrigley: [00:57:25] You'd certainly know if the opposite was true.
Elliot Condon: [00:57:28] You would very quickly. That's the thing. Yeah. And so, so what's next? Yeah, definitely rest API. I'm really interested in looking at a kind of generic fields API. I feel like. That is something that WordPress needs. It's something that all of us plugin and theme authors need. A lot of work's already been done in that space.
I'm definitely interested in seeing what I can kind of offer to that space. I'm starting to see advanced custom fields as a bit of a layer, and there's a, there's a fundamental layer underneath that is missing that could be abstracted into its own kind of independent thing. Much like Gutenberg is kind of abstracted into its own separate.
Plugin from WordPress. that's something that really interests me, interests me. And then the biggest ongoing thing is, is the branding, the website, the content, the documentation, the. The product as a whole. You know, it's not just the actual code that gets installed on your plugin, it's, it's everything else in that at handover experience.
So there's a lot of work. The advanced custom fields website is privilege, your vehicle, gold overhaul. And, yeah. From a design perspective, from a usability perspective. So there's, it's kind of working every direction. Yeah. Yeah. Wow. Every direction.
Nathan Wrigley: [00:58:41] 2020 is going to be a busy year for you, but hopefully, the year in which you've, you know, you're, you're positive and buoyant and you continue to grow your numbers.
Well, I think that I've asked everything I want to ask. but I'm going to open the floor to you. You said that you were, you're not the kind of guy that goes around, you know, shouting about yourself. You, I can't remember the word you used. Introvert, I think is what you said. So you may not want to participate in this next section, but if you do want to drop a Twitter handle or just very simply the URL for, for a website that you want to mention or whatever, then it's over to you.
Elliot Condon: [00:59:17] I am on Twitter personally. It's at Elliot Condon and the advanced custom fields. A Twitter account is WP, underscore C. F a website is advanced custom fields.com. If you type ACF into Google, you should find us along with . Some other foundation that has the same background. Oh,
Nathan Wrigley: [00:59:41] okay. All right. Yeah. You're never going to, you're never going to get rid of that. That's a yes. Yeah. So let me do a number one. That's all that matters. yeah, Elliot, thank you. What a nice, broad range. Each chat we've had, I really appreciate it. I'd love to do this again in a, you know, a period of time and, we'll see
Elliot Condon: [00:59:56] two years.
Yeah. Yeah. That sounds about right. And I'm just going to say
I'll sail over.
Nathan Wrigley: [01:00:06] So, so anyway, with all your bling. Oh, brilliant. Thanks Elliot. Appreciate your chatting to us today.
Elliot Condon: [01:00:13] No worries. Happy to. I hope everyone has a great day.
Nathan Wrigley: [01:00:16] There you go. I hope you enjoyed listening to Elliot chat with me all about his journey with advanced custom fields. If you've never played with custom fields before or indeed, if you've played with custom fields but not used ACF to do them, I would encourage you to go and Google advanced custom fields, or in my experience, if you just type in ACF into Google, you will get yourself to his page and check out the pro version as well, which is advanced custom fields.com forward slash pro.
The WP Builds podcast was brought to you today by WP and UP one in four of us will be directly affected by mental health related illness, WP and op supports and promotes positive mental health within the WordPress community. This is achieved through mentorship, events, training, and counseling. So please help enable WP and UP by visiting WP and UP.org forward slash give.
Okay. Each week, as I said at the top of the show, we produce a whole bunch of content. We'll be back next Thursday for a new podcast episode. Very likely a discussion or a debate between David and myself. Then we'll be back on Monday for the WP Builds, a weekly WordPress news, half an hour or so of audio, summing up the previous week's news and WP Builds.com forward slash subscribe to be alerted to all of those.
And then don't forget, we'll be 2:00 PM in the WP Builds Facebook group or at forward slash live where we'll be having our live version of the new. So loads going on. Please do come join us, make some comments somewhere, share the podcast with your friends, relations, pets, whatever you like. So I hope you have a nice time during the week until I see you next week.
Oh no, I'm going to fade in some cheesy music and say, bye bye for now. .