Alex Bishop: Advanced Custom Blocks - creating customised editing experiences in a Gutenberg wo...

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
[Music] [Applause] hello fantastic alright well I mean as has already been explained time is of the essence we've got to do this now all right so this is advanced custom blocks today I am focusing on a popular plugin called advanced custom fields and how we can use it and I guess some of the skills that a lot of us already have that we've got from developing themes plugins just WordPress websites in general and how we can transfer those and you know like create some crazy experiences in the block editor and all of that kind of stuff now it's the afternoon we're all a bit tired so if you can please humor me I need to get to know my audience a little bit can I ask everyone to please stand up out of their seats thank you okay now I would like you to sit down if you have never heard of advanced custom blocks before now I mean advanced custom fields sorry who's who's never heard of the plug-in before now okay cool who has never used it sit down if you have never used the plug-in all right okay cool sit down if you have never used the pro version of advanced custom fields all right Ellie will be very disappointed in all of you sitting down for those people that are left standing I'm very curious to know sit down if you have never used the flexible content field yeah all right okay so I'm gonna be talking to about ten people in the room which is just amazing but like we said we're talking about now and what is really so special about now so you can all sit down okay and now I guess is really a big time of change for WordPress and in order to talk about now we might just need to quickly breeze through a little bit about before because I noticed at the start of you know today when we're going around the room there's a lot of new people here they're new to word camps they're new to WordPress and maybe they just don't actually understand what the fuss is all about but way back we had this thing here this is called the classic editor now that lovely big white rectangle that you see up there where you could paint your masterpiece all right but pretty soon people realize that that wasn't enough to make the website of their dreams and people wanted to do more and so they turn to this stuff called meta fields but the built-in user interface for meta fields is quite frankly very poor all right don't tell the court devs that but it's horrible and so people realize this I started making custom ones and doing all of that and that's where we meet a CF or advance custom fields it is a plug-in that takes the that weird kind of like text key value store thing that we just saw before and turns it into these rich user interfaces that make putting in like customized content an absolute dream so we have things there like you can see it's a color field as date pickers there's even just you know plain stuff like text and paragraphs and we can do things like require content to be set or we can dynamically hide and show sections depending on values that people pick and in general it's just like you know a much much better experience for this kind of you know custom stuff that we might want to do in the admin so for me as a novice web developer discovering ACF made me feel all of a sudden like a wordpress superhero all right all of a sudden I went from kind of like fiddling around with things in the WYSIWYG to being able to design these really cool editing experiences in the admin using the GUI the ACF provides and I managed to bumble my way through some templating code and all of that kind of stuff and get it out put on the front end and all of a sudden it was just amazing I could do whatever I wanted with WordPress my clients loved it I was having a good time and in general life was just pretty good you know we got some new fields over time I didn't really go back I kept using ACF however when the flexible content field was released that kind of really changed everything so what this enabled you to do was to define these groups of fields called layouts so it'd be a group of you know you could place more fields into a layout and then you put a collection of layouts together into this flexible content field and when someone's authoring that content they just come in and they go I would like to put some text in and then they see the text fields and I would like to put the call out in and then they see the fields related to the call-out and you could just build up your page using these flex content fields and pretty soon myself and a lot of other people from what I can gather online realized all of the power that this presents and they pretty much stopped using the regular WordPress content entirely we just started hiding it or turning it off or whatever and doing everything in this flex content way because also when it came to templating it was so much easier right we could write this like basically there's one statement and almost have one template for the whole website so what this does is it just fine what the layout name is called and it loads a template file called that layout name and so all I need to do is basically just go through and make sure that the names match up and all of a sudden now I can develop my websites in a totally different way so rather than relying on fixed pages now we started to build modular blocks and also all of a sudden you know now clients can just come in and add more it used to be when I first started using custom fields for example you'd have to get the specifications of a website like totally on point because if the you know the client would come back and you'd be just about to launch the website they'd go oh yeah we need another paragraph or an image right here okay I'll go put in more fields I'll go change the template code but you can see here that you can just add new ones in and that loop that I showed you before will just kind of like take all of that into account also and this was a huge thing at the time vertical ordering of content stopped being a problem when we were using fixed fields we had to make sure that we got the order right okay so if we wanted the map you know to be before the contact form but after the paragraph or whatever yet to make sure it was that way in the template we had to make sure that hopefully the fields lined up in the admin to or someone would get confused this now you can see you can just drag and drop it around and it was really I mean in my mind kind of the precursor to the modern browser that we have now after discovering all of this I have to say life was pretty good all of a sudden were developing you know WordPress websites in this new way and we were happy you were productive it's fantastic and then of course you know it's as always time for change ok Project Gutenberg was announced you may hear me refer to Gutenberg or the block editor throughout this talk and they are the same thing I apologize if I use one or the other at certain times but they're interchangeable but the block editor was announced and all the people like me who were absolutely crazy about advanced custom fields were very worried because I've gotta admit I don't I was not really a big fan of the classic editor akai always losing any sleep over losing that big rectangle apologies to the person from tiny MCE who's here but what I missed is that I could change all of this right like using the skills that I had I had PHP skills and I had you know HTML skills all that kind of I could change all of this stuff I knew the actions I knew the hooks and I could just turn it into a blank canvas where I could put whatever I wanted and then it comes out that now all of a sudden I've got this and I don't have everything up here that's all the react application now you can see that it expands a little bit but it's still not really enough for like a whole content authoring experience and so you know we're all just sitting there going like what are we gonna do what's what's gonna happen and I think that you know in general like we were just really worried about the change partially I think because we'd spent time building a system that worked for us and we're always so protective of things that we have created ourselves alright whenever something new comes along we're always just at a rush to be like nope I've invested so much time into this that it can't possibly get replaced it can't they can't possibly be something better but it sort of turns out that I got to have my cake and eat it too and so did a lot of other people because since ACF pro version 5.8 or greater we can now use like the same field interface to create these custom blocks and once again life was good so maybe you're just sitting here wondering like why don't we just make native blocks we have already had some fantastic talks about that today why don't we just replace flex content with native blocks sometimes honestly you can so I have made flexible content fields in the past before that just contain like a simple sort of assortment of fields so we put a heading block in there and we put like a paragraph on in there and an image and a YouTube and all that kind of stuff and we just find that clients would often be able to use that still easier than the classic editor something like that is the perfect example to just get straight-up replaced by the block editor however for some of these other things where we've created these really custom experiences we still want to cut demise the editor so we're gonna need some way to do that one of the ways that one of the reasons why I really like using ACF blocks as opposed to native blocks is we get full control of the markup at render time I'm not saying that is impossible with native blocks it's just a lot easier with ACF blocks and I think really the big thing the really the big thing is why people don't want to sort of get into native block development is that they've like perceive it as being a steep learning curve I must say though it is getting better we've seen some things like rulers talk this morning I thought was very interesting and they talked about that he talked about the WP scripts project how that's making it easier for people to get into react development by removing the hassles of managing your build process and all that kind of stuff but it's still well you know there's so much good stuff there but it's still a big change it's still a huge change especially if you're not used to writing modern JavaScript es5 or years next react is different the paradigms of it all are different you know there's just there's a lot going on there and most of us are busy man like I work for an agency we are pumping out the websites obviously you know we take time to make sure it's done right but for they're flying out the door and not everyone has that luxury of just being out of drop everything learn new stuff and then you know pick up where they left off we have so many legacy applications that we've got to maintain and have solutions for them and so I guess we're looking at all right how can we progressively introduce this or how can we start getting some of the benefits of the block editor today without completely changing everything all right so hopefully now you're starting to come around you might be going well if I'm going to use this ACF blocks thing am I getting a watered-down experience am i you know is this like is this block eight it's a light or something like that because I'm using this and for me I really feel like the answer mostly is no so native blocks can be static or dynamic and I really like that a CF blocks are all dynamic so a static block when you save it that block may define some additional HTML something like that and that gets saved into the in the database if you change that template you need to update the posts in order to change the mark-up for me that's a bit silly it's why I use something like WordPress is to have an abstraction over that so I really want dynamic blocks where everything's rendered server-side so that if I if the client needs this to change across the entire website right now it can for me that's kind of like what I love about using a CMS in general so the data is decoupled from the design like I've been talking about and I find for us that makes our development a lot faster the the portability or compatibility between I guess our old solution and the new one also makes our development a lot faster and we're going to get into that in a little bit as I mentioned ACF blocks are registered using PHP so you'd do this within a theme or a plugin and you don't need to know any react or like you know WP blocks JavaScript API any of that stuff great stuff to check out if you have the time but you don't need to know any of it to use ACF blocks and finally I'm sure there would be some people who are familiar with ACF that are wondering how the data is saved so it's not saved in post meta like it used to be for things that are within ACF blocks it's actually saved as a JSON literal object in a HTML comment because I guess this is like the gutenberg compatible way but it is important to note that like it's a really great replacement for say if you were using flex content or other fields to replace the content of your wordpress post however if you were using meta fields i guess as more what i would say is like actual meta if it was more something that you would query by as an example or sort by or like something like that or is just like an additional piece of information that you want to be able to you know fetch out the database separately then maybe it's still best suited like actually being a meta field and living in that drawer down the bottom and in that case probably weren't really considering like you know flex content or anything like that in the first place either so it doesn't mean that post meta or you know regular meta fields have completely gone away okay so what's the learning curve like how much time we talking here we're all see people if you already know about using flex content and have like built some templates for that or something like that you only need to learn one new function you should be Adam basically walk out of this talk and just go do it because it's that simple if you've ever written a child theme theme or plugin then it will be really easy for you to pick up because you have some knowledge of I guess what it means to edit PHP within WordPress maybe where some of the files live and things like that if you've never done any of that before if you've never used advanced custom fields or have never edited the PHP of your WordPress website then it may be a little bit harder but all of that difficulty is going to come from the more general concepts surrounding those things and not ACF blocks in and of itself it's just that I guess you have probably a little bit further to get up the ladder before you can use it with the same fluency as you know people that are used to doing that kind of stuff all right so we on board should we get into it I will not be sacrificing to the live coding gods today so I apologize so when it's gonna have a lot of code on screen and that kind of stuff but here's here's where we really I guess start getting into it so the usual disclaimers you're making edits use a child theme edit and test locally do not test will make changes in production to your Shore better yet have a testing and deployment process do you want to know more about that Rachel I've had a couple of beers I'll be yelling it at you later tonight okay so it all comes down to this one function was introduced in ACF five eight it's called ACF register block type args is variable there it takes an associative array of arguments and they define I guess how our block behaves and you know what we what we need to do to get it all up and running so let's check it out on the left here we're going to have the arguments and then on the right this is the block selector in the block editor okay so this is like a piece of the block editor where you go and you click on the plus and it's like a new block and I'm just going to use that to maybe highlight how some of the choices that we make here affect what we see I now I just realized there's actually a slide missing from this but I'm using a fictional example as we all need to do for demos my fictional example was a website about dogs called good boys hope you all enjoy it and so we're building a featured dog oblak alright let's just let's get around it so the name is the unique name for this particular block so this it's like an ID for your block it should be globally unique you cannot have two blocks that exist with the same name so you may want to prefix it with like a namespace you could do like my theme slash whatever but in general it's like think of it as like a slug or an ID avoid spaces I wouldn't capitalize that kind of stuff is just going to get messy alright the title so the title is what's displayed up here it's like the human readable nice name of the block and you can see it highlighted over there in the in the block selector make it translatable that's what those sort of you know wrapper tags there are and then we also have the description which is not shown on this particular part of the editor it's in the top right when you're actually editing the block itself we have the category blocks belong in different categories and as you go through the block selector they're all separated out into the categories so I've put this one in embeds you get to define an icon for your block and it will take a like the name of a - icon you can also pass it an array if you want to specify foreground and background color for that icon you want it to look a bit snazzy or if you really want to get fancy you can also pass it a string that is an SVG so you can just pass an SVG straight in there for a custom icon and finally we have some keywords which help when we're searching so now with the block editor and people adding additional plugins and us making custom blocks we could end up with so many blocks that it's really hard for the client to find the one that they're looking for so then being out to find it through search is actually an important thing so we can define synonyms here which may not be the actual thing in our name but you know what they can find it by so this kind of stuff is really all like meta about the block you know it defines like what it's called and you know what the title is what category it's in all of that kind of stuff the next few things are I guess like the real meat of it all so the first thing is render template so we passed this in if you want to use render template you pass it in the full path to a PHP file and this is where your markup and everything will live this is where you'll make your you know the field calls and all of that kind of stuff and do your regular ACF thing and so you just pass it in a string that goes there you also or not also you have the option of instead providing a callback so you can provide a function name as a string you can provide a class method if that's what you want or you could provide just like an anonymous function I think even like an in vocable object I'm pretty sure anything that satisfies like PHP scorable type will work and so you know that way if you maybe have some conditional logic you want to run before you select the template or something like that it can it can happen if you define both for some reason you just want to overachieve render callback will actually take precedence so that one will get run and your template won't be loaded styles and scripts are very similar so we can just pass it in like you know something you know just a style sheet or a Java Script what am I trying to say a Java Script file and they're both optional you don't need to load additional styles for your block but if you do they'll get loaded in both the admin and on the front end and they will do so on an as-needed basis so if the block isn't on the page that style sheet doesn't get loaded javascript and CSS has been more complicated these days and so sometimes we might end up in situations where you know a style sheet or a Java Script or something like that has dependencies and WordPress has a great system for handing this already however this kind of like simple quick interface that we've seen above is just meant for you know getting up and running really quick or really simple scenarios if you need to also like make sure that your assets dependencies get loaded call the regular sort of like wordpress WP and cue script or whatever functions then you can do so within one of these sorry I've got to go through all over again that's just not going to work through one of like the callback so again you pass in any of the callback types and then from there you can call the regular WordPress script and all that kind of stuff no I can't just skip past this but you know hopefully now you'll really remember it okay cool so like I was saying it's very similar to render callback takes any callable type let's actually look at some code for making a block now so as I mentioned good boys our example is dogs because what's more wholesome this is minimum viable block registration basically that we're doing here firstly we're going to check if the function that we want exists so this lets us know if we're using a version of advanced custom fields greater than 5.8 also notice that we're we're doing our add action call to like hook in registration function we're putting that on a CF in it so this is kind of nice because it means that it won't run unless advanced custom fields is also active and and you know like running so rather than putting on like wordpress in yet or something like that this is our register block type call it's basically the same things that I've been showing you on the screen there and this is a Minimum Viable template technically you don't need this stuff but it's a good idea to just pop that in there this deals with some common guttenberg kind of class names and attributes that the editor passes through to you to deal with things like layouts and alignments so you don't need that but it's a good idea to have that for all the blocks and as far as the actual block goes I can there we are you can see down the bottom it's just a very static thing at the moment I've just written hello well there I'm not calling any of my dynamic data it's just hello well like we just want to get something showing in the admin so as a final step we just need to attach a field group to it now when we go to the field group drop-down we have block as a you know location option and we can set that and from there we should be good so found it and now you can see like the hello world just output because we're not using the data and I've set one custom field on this block over on the side and it just lets me pick like a custom post alright so again we're just we're just trying to get up and running but you can see the field over here and the output up there so let's just skip forward a little bit past the kind of hello world thing and get to the point where you know I've actually defined some markup and some styles for that block so that's just you do that like you would regular HTML and CSS and so now I guess this is more of like the finished block so you can come in here and pop it in come over here and select a dog and then I go fetch that post and use that post to then dynamically populate the data of that block and you can see that as we update and pick a new dog the content changes so this is like a live sort of like preview in the admin which is definitely something that we weren't really able to do with with flexible content so and once more life is good we're we're kind of back to where we were before and now we have this almost like supercharged flexible content block in the block editor so it's like you know we've got our old kind of like customized interfaces back and we've got some cool new tricks like I showed you there with preview mode so you can also click over to edit mode which just renders out the regular ACF fields in the editor there this can be really good if you have lots of fields or you have like old field groups that you know have multiple columns of fields in them and and you know like complex things like that having them over in the sidebar over here might not work for you so you know you can just use the edit mode there just really quickly if you are someone that has a lot of flex content I don't think we're going to run through this just for time reasons but go check out the slides when the posted online this is like a three minute speed run of me converting a Flex content block into an ACF block takes that long so go check that out we'll skip past that tips for breaking up flexible content as well this might be better off to come and revisit this at another time but effectively there are lots of ways that you can get your field definitions out of advanced custom fields you can use their local JSON feature to like save them as JSON files or you can use the PHP export and you could quite easily using a text editor cut up those files to them like take out the sub field groups and define them as their own top level field groups we've done that in extreme cases worst case remake the fields it will probably take you like 10-15 minutes ok so just going a little bit deeper here's some lesser used arguments of this stuff of register block type and it can do some cool stuff so post types we pass that an array of post types that we want this block to support and it will be hidden on all other post types alignment we can set the default alignment when it first gets loaded into the editor and same with mode we can choose if we want it to come into preview mode or if we want it to come into edit mode and then finally with this supports array we can also turn some of these things on or off or like limit the options of them a little bit so down here in a line I've chosen that I want to support the full and wide alignments I could also pass back false and turn off alignments all together and that little toolbar would then disappear from the gutenberg block same with mode you can disable preview mode if you don't think it's really going to work for your field group or maybe you know they're kind of like thing that you're outputting on the front end is way too hectic to having the admin so you just want to turn it off and just only see the fields multiple is the cool one you can set it to false and then they can only put one of those blocks into the content which i think is like really neat ok so now you've kind of seen what it takes to get you know a block up and running and there might be some developers in the audience that are considering taking that step but those people that haven't really worked with the block editor before I'm a particularly those that are coming from a PHP background I guess here's some bonus tips for just dipping your toes in the water a little bit this is a really cool blog post on synchronizing color palettes between the guttenberg color picker and ACS again there's a link in here so when the slides get posted online come and check it out it's pretty easy to disable custom colors and font sizes in Guttenberg and if you're building websites for clients I'd almost highly recommend that you do so it's just a couple of add themed support calls you can get rid of them and you can also using a couple of other filters you can define your custom color palette and you can define your custom text sizes and all of that kind of stuff have some really nice consistency throughout you can filter the available blocks again it's just another filter you can do things in there like test what the current post type is all that kind of stuff make sure you don't filter out your own custom blocks that you've just spent all this time setting up and you can also add your own custom block categories using PHP if that's something that you want to do so again another filter and the documentation for this is on the kind of developer Doc's and everything finally if you're a big flex content user you may have discovered a project called timber does anyone here use timber can I get like any hands and yeah there's dozens of us anyway I love timber like I really love building WordPress websites using this framework called timber and it gives you an object orientated interface into you know WordPress introduces some kind of polymorphism to your templates and WordPress objects and it lets you use a temper a templating language called twig which I'm a huge fan of but if you want to render your blocks using timber and twig here's pretty much how you get it done this is your render callback that will handle you for any block as long as a file of the same name exists within like you know views such blocks and yeah that'll just kind of like pass in context than any arcs applied to it and this is just the same sort of template that has been edited to now kind of contain twig tags and all that kind of stuff this is just to show the difference to the one before but in reality you would probably actually break it up into subcomponents because that's kind of the whole idea of using something like tweak so this is a little bit more complex might look a little bit more foreign but in the time that we've created this one block we've also created three reusable components that we can then I guess combine in other so you know we've been talking a little bit about components on the front end and how it's great to have these discrete things that are reusable and kind of have like an API in terms of okay we pass this in and we get this out you can use like language templating languages like twig you can even make the same thing in PHP if you really want and that whole concept I think still has a lot of value on the server side as well not just the front-end it's great to have these little template parts that have an own API and so you can do things like adapt them you know you can make it so that you can just pass in a post or you can pass in custom params and kind of get the same result anyway finally if you're really nuts and I'm coming up to the edge of my time sort of here you can look at defining your blocks and your register block calls as class instances I'm not going to go too deep into this because I feel like if you're doing this you probably nuts and you have a very opinionated way about how you would do it and you're gonna disagree with my way okay but you can do things like extend a base class that handles all the registration for you or you could use like a service class or like manager class to sort of register them you can do nice things when you sort of been within the PHP environment like dynamically detect if the template files or scripts exist and then cue them and if you're doing that kind of stuff I highly recommend that you use an auto loader because it makes the entire process so much more fun alright so just breathe you through all of that really heavy stuff there but I just want to say like it's definitely a new time for WordPress it's a big time of change and change can often be uncomfortable you know it's it's always hard and it always I guess is one of those things where we struggle to feel like maybe these skills that we've invested all this time into aren't worth anything anymore and I guess today I really just wanted to present some things to you and show you that we can still do some like really amazing things just using I guess the WordPress skills that we already have you know we can embrace the block editor without retooling and retraining using ACF blocks and I mean yeah I just like to say that really like you shouldn't let the technology kind of hold you back if you want to learn react learn react if you already know PHP and your comp there you can do some incredible stuff I just encourage you to get out there and build an experiment and try it all out so special thanks to our organizing team and our sponsors without them I wouldn't be able to stand here and talk to you all this afternoon I'd also like to thank Elliot from advanced custom fields for graciously giving me some of his time on the lead up to this talk to help me prepare I would like to thank frame creative the people that I work for for our flaming out here to speak to you all today we're a branding and digital agency based in Adelaide South Australia I am Alex James Bishop you can find me on Twitter there I kind of just post programming memes and that's about it and remember life is good it is the best time now to be a web developer that there ever has been there's so much stuff out there and the level of choice that we have can feel a bit crushing or overwhelming at times but honestly it's all this great stuff you can take it or leave it and it's up to us I guess to decide where we go from here so thank you very much for having me today [Music] we have time for any questions five minutes all right all right hit me we've got one up there apologies in advance if the answer is I don't know have you ever tried to convert like write a script that will convert your flexible content builder into the new blocks that you create like is there like you've taken a website you've created all exactly the same blocks converted it no to be honest like that's that's really something that would have absolutely been my jam about six months ago I've kind of turned over a new leaf recently of like not spending 20 hours automating a task that takes 30 minutes so I've sort of like been actively trying to stop myself from doing that kind of stuff because I used to over optimize on the autumn ization front I think that it definitely would be possible you just need to decide what format you want to work with them in and my recommendation for that would probably be the JSON format so have your theme like how do you know about the JSON format for us yep yep yep so I would just work with them because like you can just really easy pass him into an associative array and I think that it would be very easy then to split out those each of those like layouts just off into its own group thin and you just need to like work out a way of coming up with I guess like unique group names and stuff like that because they need to be globally unique you could literally just like generate them on a time stamp or something like that so yeah would would be definitely something you can do if you wanted to do that would be a great WP CLI a kind of like thing I think that would be like the ideal kind of framework within which you'd build something like that but I haven't personally done it sinking a beer at the after party can I ask one more question yeah sure so it's not too wrong to believe you would turn off everything in Gutenberg and just build your own blocks you can but I actually that was my initial reaction I think that some of the things that you get in Gutenberg just out the box are almost like kind of kind of better like particularly when it comes to text content so I actually really like having individual list and paragraph and all of those kind of like blocks even like some of the stuff like button and heading I leave all of those on and I don't I try not to make a CF blocks anymore that use the ACF WYSIWYG field because like where we're instantiating like tiny MCE within this whole like block editor and it just gets really JavaScript heavy so you could do that particular if you're building from scratch but I actually I really do enjoy the the text editing experience of a lot of the Gutenberg stuff I just build blocks for custom things okay cool yep so maybe this was implied before but when you were talking about hey there's this one function you need to learn to register an ACF block yeah and there's certain arguments you pass to that those arguments looks very familiar are they identical to registering a regular block because it looked a lot like the same ones I believe it's very similar but no it's not actually quite the same okay that is Elliot yeah yeah they're the same but yeah my understanding is like like some of the supports and stuff is a direct correlation supports I think definitely lines up with support but yeah yes so the arguments that you can pass into the PHP function exactly the same as the native JavaScript props but with a little bit of sugar sprinkled on top so you get some extra stuff in there like the callback and the assets JavaScript and CSS type stuff yeah yeah which is called so it means that any time that the Gutenberg developers add new properties to the JavaScript API the PHP ACF equivalent will just inherit that as well all right awesome any other questions howdy what some examples of like custom blocks that you've built for people okay well I'm not on really like my computer or anything so I can't sort of like show you but what we typically really try and do is similar to what you saw with the featured dog block is we try and make really simple interfaces that generally do like pretty complex things under the hood so that way the client can crop them really easily we have a stock set that we pretty much install on like any any kind of website some of them aren't needed anymore now that the plugins and stuff of caught up so we used to have like a gravity forms one and all of that kind of stuff because we just needed it but now they've got their own however like yeah a lot of the time we find ourselves again and again and again like just having this thing called a combo block or a feature block or whatever I'm pretty sure everyone knows we would have seen something like what I'm talking about there's an image there's a title there's some text and there's one or more buttons and it's laid out in a number of different ways but those items are like always there we pretty much put one of those on every website because like everyone wants one and then a lot of the time after that we're looking at things like post grids and related objects and stuff so they might just pick a category and we'll automatically pull in like you know nine posts from that beyond that like getting into more complex things I feel graphs so using like a JavaScript front-end like graphing library and just people supplying some like numbers and parameters in ACF and then we pass that into like you know I was using like apex charts I think with you and you know outputting like a dynamic animated graph on the front end even like we are starting to build things more with the kind of view frameworks I'm like like view reactants felt and so a lot of the time yeah we'll just like create a block that defines any of the component like props or params and then just passes them straight through into it as a JSON object so yeah so you can do you can do pretty much anything but we find a lot of the time our clients have pretty similar need the content and then we just build blocks where you know where they have unique needs so we are we done timewise done yeah awesome thank you so much for having me today guys telex [Applause]
Info
Channel: WordPress
Views: 4,138
Rating: undefined out of 5
Keywords: blocks
Id: LdXNMkrc0RY
Channel Id: undefined
Length: 39min 49sec (2389 seconds)
Published: Sun Oct 27 2019
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.