 Hi everybody, good morning. I hope the keynote was good. I was busy hiding so that I could give this talk So I didn't get to hear it, but it's really awesome to see all of you here today All right, I'm gonna let people kind of trickle in in the back, but anyway So hi Already a big introduction of me, so I don't have to talk too much about myself I am a designer and a front-end developer I Partnered on a lot of enterprise projects and I've also do a lot of design builds for smaller clients So I've been working for myself since 2009 and I've kind of gone through a lot of the growth pains and excitement With WordPress, but I don't really want to talk about myself all that much I actually want to learn more about all of you So how many of you build themes for you know selling them or for clients, whatever How many of you like either work for yourself or like work for or run a small agency like kind of a smaller Alright, so my people are here and how many of you maybe you don't do those things But you're thinking of doing those things like that's something that you want to do. All right a couple of you Well, welcome to the talk. Thank you. I want to learn about you because what we're doing here is we're kind of talking about How we navigate this new modern WordPress that's kind of happened to us in the last few years, right? And when I was thinking about that when I was thinking about how to write this talk a concept that I was reminded of was the hero's journey How many of you are familiar with it? It's like a literary concept, right? If you're not familiar with it. It's also known as the mono myth. It's basically kind of the most pervasive concept in storytelling We're a hero. They have a disruption to their life. They face a bunch of challenges and then they come out having been transformed So in the hero's journey There's several different versions of it But the modern version is going through 12 stages of transformation in three acts The protagonist has to leave their ordinary world and go into the special world Which is the world of challenges and growth and then when they return to the ordinary world They have been changed and so what I'm gonna do today is take you on the hero's journey of Transforming from you know, maybe a classic editor person or like a new person to doing WordPress themes Maybe somebody who's been doing themes a long time Transforming into a full site editor developer I'm gonna cover a whole lot in a short amount of time So I'm not gonna be teaching you how to do all of these things But I do want to give you a framework of how to tackle it from the beginning So if that sounds good, I'd love to get started We begin in the ordinary world stage one where we meet our hero This is where we learn more about the protagonist who in this case is us the independent theme developer We are the hero of this story. And who is the independent theme developer? Tell me if any of this sounds familiar Probably came from kind of a diverse assortment of backgrounds. You might not have been a programmer originally You maybe came into WordPress and decided theme building was kind of fun Not necessarily a developer prior to WordPress. You probably also wear many hats, right? You know because you're doing this on your own or maybe you're running a very small team You're not just a developer. You might also be doing design. You might also be doing content strategy providing support Consulting often you need to worry about everything and how to get it all done And you're probably you know not just doing a job But you know you probably have maybe like a family or some hobbies or other things that you want to be able To do there's a lot going on on your plate and Also the independent theme developer at this point has probably Figured out a lot of how to make their their business run, right? They have a lot of fine-tuned workflows We've gone through a lot of stuff. We've built our suites of tools. We we know the things we like to use We know the the themes or plugins we like to use maybe we use different custom field managers or we use different page builders We turn to some specific plugins and themes pretty frequently. We know where to look for things We've read the documentation We kind of know all the languages are writing in right, you know, we're using html css php some basic javascript We're pretty comfortable in our world, you know everything everything makes sense things are working But as you know, the hero's journey isn't just sitting and watching the heroes sit in their house for 12 acts We have the call to adventure and the call to adventure is when the hero's life is disrupted And they are called to take a journey and in our case This would be the merge of Gutenberg project into wordpress core and then again with the release of full-site editing These are kind of our big calls to adventure like things are changing Let's do it And there are things that are exciting about this right, um, you know as a service provider For the client. It's pretty cool. You know, they get a wizzy wig interface They get to have these really great content tools that let them be able to write long form content Have more power to be able to do things without the developer having to build custom stuff And they're the client's probably very excited because like it's a lot easier for them to understand what they're looking at As a developer, it's also pretty cool. You know, I mean there are um Faster page builds so like I don't have to write custom code in order to add columns to a page, right? It's it's all in there in the editor Global styles are easier to take care of because they've introduced new tools that automatically generate them And the theming framework of using a json file to just you know, do all these things It's a little more similar to how other languages do it. So as a developer. There's some pretty exciting stuff Um, so then we get this, you know, are we ready to begin this journey? Um, it seems like it's inevitable. It seems like it's the way going forward But still it's a pretty difficult choice for those of us that are used to our ordinary world So the next stage is usually the refusal of the call And that's where the hero is hesitant to begin the journey because they don't feel ready Or they don't feel qualified or they don't want to leave their current life There's a lot they like about it And for us, there's a lot of reasons to be resistant to all of these changes, especially if we've been doing this for a while I mean as a service provider who has to deal with clients some of the things that are kind of scary The interface is not perfect yet. Um, it can be glitchy and buggy There are features that are missing. I I have my own feelings about some of the blocks like the navigation block and how great they are great Some features like responsiveness or interaction isn't quite baked in the way we want It kind of still feels like beta software a little bit things might break things are going to move around and that means, you know More support requests, which we don't really love As a developer a little scary. Also documentation hasn't quite caught up to the level that previous wordpress has had um There's a whole bunch of new development tools and languages that we're looking at trying to learn functionality that we're used to having access to has been really obscured And it feels like it's constantly changing and it just doesn't feel as mature as what we're used to working with But really the biggest fear, especially as a person who's independent or maybe running a small agency is like Well, okay. I see that we have to learn all this stuff, but like Who's gonna help me do that? Right? Like i'm not getting paid to like Learn a whole new programming language do all these new build tools like keep up with everything I'm just trying to like build websites for clients who need websites um So in the next stage we meet the mentor. This is usually, you know The wizard or the great helper the trainer, right? This is the the person who enables the hero to get the knowledge and support they need to start their journey And for you, maybe this talk is your catalyst or maybe you've already seen some really good tutorials and resources out there I know for me Being a member of different social or slack communities has been very very helpful for having people to talk to also attending talks like this or you know watching various tutorials I wanted to link to several resources here developer dot wordpress.org learn dot wordpress.org full site editing dot com and wordpress tv All have really great resources and I show several specific ones as we go on But another thing that we can do to kind of be our own support Especially when it comes to clients is like try to manage expectations of what this looks like so Maybe can you sell update or maintenance packages to help cover the time and costs for all of these changes that are coming up Can you outsource some of that to someone else? Um, how can you take on projects that maybe help you stretch your skills by being you know Maybe 20 percent more than what you know, and then they can help kind of pay for that Um and also remembering that you don't have to do all of this all at once I'll re I'll reinforce that multiple times during this talk, but like at any of the steps on this journey You can provide value So again, we're posed with this same question. Do you want to start the journey? And now with the support we feel ready to get started. So here we go In this stage crossing the threshold This is where the hero decides to take the journey and with the support of their mentor guide and appropriate supplies They embark So for the theme developer This is kind of your first foray into the block editor to see what the new paradigm is So if you've been doing classic stuff or building with a page builder This is the time to get your hands dirty in in what this all is And you want to approach this interface With the curiosity and kind of the desire to learn as a power user So we're not doing any development yet. We're just kind of learning like okay. What is this thing that you're expecting me to build So generally you want to get you know a fresh install with the latest core theme You can use your favorite local development tool to do this or you can use the the wordpress playground Which will let you kind of spin up an instance of wordpress and go into it and look at all of the admin And the first thing that we want to do is look at the post editor or the page editor itself And get really familiar with where everything is especially again If you've been used to working more in classic wordpress or using a page builder You kind of want to know where everything is in the interface And you'll notice that many of the classic editor pieces are still there like the content editor and the page settings They just look a little bit different. There's also a whole bunch of new elements that have been added so We have the block in pattern inserter which you'll see as we go on You've got kind of these different tools switching between editing and selecting mode and the undo and redo buttons You have the the document overview which i'll talk about a little bit more You have where your view and preview buttons are so how you can see everything on the front end in different views You have your settings which tend to which live in the little this is the thing that pops out the sidebar that you can see right here And then you have your screen options where a whole bunch of other menu items live In addition to the page settings in the sidebar the block editor adds a whole bunch of block settings which show up in context When you have a block selected Each block has a tool bar that either lives right above the block or docked in the top menu That depends on your global settings by default. They show up right above the block And many blocks also have a lot more complex options in the block settings sidebar So this is an example for the cover block and what happens which settings you have So you can see there's a few inline things that kind of show you what's the width of it How can you move it? What are some of the cropping options? And then there's the the sidebar settings are usually a lot more complicated It's important to kind of study which settings tend to live in which spot Especially later if you decide to go down the route of building custom blocks yourself Then you'll kind of know where people are expecting to find things Then we have the block pattern and media inserter and all of these things have undergone a lot of changes So this is as recent of a screenshot I got maybe last week because I wanted to make sure everything was like 6.3 compatible Um, but this is where uh all of your Blocks and patterns and media live and you can access this either through that little Inserter in the upper corner or you can access it by kind of hovering where you want the block to go Or you can type the forward slash and start typing what block you want so several ways of inserting blocks But this is where uh people are going to go to kind of insert all the blocks or patterns or media that they want to add Then we also have the list and outline views and I have found list view to be probably One of the best tools in navigating the editor if you haven't started using it It gives you an entire nested view of every single block that's on your page And now this is a really simple layout. There isn't a whole lot going on But just imagine like groups with columns inside them with a bunch of things inside that the list view lets you not only see Those things but also move them around from directly within the list view copy them delete them It's a really great the outline view Let's you kind of see things from a content writers perspective So it tells you you know, what are the headings you have? What are the different things? How many words do you have? What's the reading time? Etc. So those are all really useful tools And then I also wanted to call out because this is really useful as you're starting to learn How blocks and themes are written Inside the settings there is a place to toggle between your visual editor and your code editor Which we used to have in tiny mce also But this way you can look at the markup of all of the blocks that are on your page Which is going to be really useful later when you start wanting to write themes or patterns or any of the other things I also wanted to call out the concept of locking blocks You can access that through kind of the right clicking menus But this is a concept that prevents moving the block or removing them And again, that will probably be useful later when setting up themes or blocks for clients But I wanted to call out where that lives So next we move into the editor itself and this is for full site editing specifically And this is kind of the latest version of it that's come out and there's lots of things you can do here So this is where you can view edit and create templates view and edit styles View edit and create patterns and then also now we have navigation and pages also show up here That's brand new as of 6.3 The template editor lets you see every template that exists and also where it came from so templates can come from the theme They can come from a plugin. They can be custom built within the editor itself And you can also as you can see add new templates that don't exist Including custom templates that you can assign to an individual page or post which is kind of neat Also want to bring up the concept of a synced and unsynced patterns This is a brand new concept that just happened with 6.3 also If you've watched block editor development over the years, you might have heard of the concept of reusable blocks That was a set of blocks that where you if you updated the content it would update across the entire site Um Now those are called synced patterns and your template parts are called unsynced patterns And they all kind of live in this pattern section. So that's brand new, but that's where that lives Then we also have the the styles and variations. So these are all your global styles, right? So typography color layout padding and spacing and also if the theme provides style variations where people can pick entire different sets Of colors and entire different sets of typography. That's where that lives And also that's where you can edit it and override what came in the theme All right, so at at the end of this stage I kind of want to bring up these stats screens to talk about like benefits and obstacles where we're at here So right now we're kind of at mostly benefits and not that many obstacles The main obstacle is time, you know, it takes a little while to go through all this stuff and get familiar with it But the benefits are great, you know, now you understand the interface You'll be able to provide better training be able to answer questions You'll kind of be able to know what does core already have? What is it lacking? And like What's available to you as a developer moving forward? So now we move into the next phase of our journey, which is the tests allies and enemies stage, which is where The hero goes through a bunch of challenges and forges partnerships in order to continue on their journey And for us, this is where we start adapting our classic theme to support the block editor So the most basic way you can do that is with traditional add theme support So this is changing almost nothing about your theme. We're just adding theme support And we're opting into several block editor features. So you don't have to do very much here except maybe change some css This is something you can do I wouldn't recommend it being the thing that you do Because the next thing that you can do is adding a theme.json file to your classic theme Which replaces most of what add theme support does it also adds a bunch of other things I do want to call out that the templates and template parts Aren't really applicable to a not full site editing theme So if you're just adding this to a standard php theme, you don't really need to use those But we are going to look a whole lot at the settings and styles because this is the way where you're going to get a nice change So in your theme.json settings again, this is replacing add theme support And this is kind of enabling or disabling different block editor features It enables you to set your presets like color spacing fonts and sizing that's going to show up For the people that are making the content It also gives you different black level controls of what things are going to look like And it's also where you get your preset and custom variables. So I'll go through a little bit of that Theme.json generates css variables. I'll show you a few examples of each of those things But what's really cool about what it's doing is it automatically loads these in both the editor and the front end So if you're taking advantage of both of those things What you see in the editor is what you're going to see in the front end for the most part You do have to add your custom scripts and style sheets within qblock assets so that they show up, but It's really important if you're going to do this to Convert your css file to use as many of these variables as possible And I know especially if you're kind of used to writing css a traditional way like putting stuff into a json file feels kind of Hard and maybe a little gross But it's actually really worth it, right? No, I know I'm like, oh my gosh I'm writing for robots. This is But it does help in the long run and actually again, like I said, it's it's more similar to how other non-wordpress theming frameworks declare styles Um So some of these variables are built into the settings and these are going to generate some css that starts with wp preset These are things like the palette And stuff like that. It's mostly like the palette and typography and stuff that governs those things But you can also write as many custom variables as you want in the custom section And they're going to output with the format of wp custom Um And I think making a whole bunch of these is great because uh, it means that later It's easier to globally change your styles within the theme dot json instead of having to go into your css and rewrite a bunch of things And then uh, we in the styles we can set our default global styles and our default block styles And what's neat about this is we can write absolute values or we can reference variables that we already made So again, we're trying to keep everything inside this json file And what is nice about that is again, it is automatically outputting these to the front end as well as the editor So we have access to them on both sides There's a few tutorials here on converting classic themes to block themes I suggest that you take a look and again, I i'm going to have a link to all these slides afterwards So you can just you know grab that there, but I wanted to make sure you had this So now here we are benefits versus obstacles. Where are we at? Well, it's a little bit more changed because again, we are modifying a bunch of our css We're using theme dot json instead of add theme support But the benefits is that now like well now the clients can use the block editor to write pages and posts And we can start providing some control to them through selecting pre branded colors and typography and other different styling and controls So we can limit their options while still letting them have access to the block editor But again, it does take some time to convert everything to using theme dot json. So a little bit of change in time Okay, so we're here and now we get to the ultimate test approaching the innermost cave the trials are starting to get harder And here's where we're going to start doing a block editor development, but not with javascript yet The first thing that I want to bring up here is block patterns, which I think are really great for being able to give your clients more More options. So core already comes with several block patterns. You can take a look at what those are But basically what we're doing here is we're just kind of registering some block patterns We're exporting the markup, which means we could build the pattern in the editor go to that code view and copy it right into this And we have patterns This is a pattern that adds three columns that have a heading a subheading and a link that seems really common So now my clients have that available and I didn't have to do that much work Another thing that we can start doing is adding custom block styles So it's pretty simple to just register them and then you're basically writing css So a block style is basically a visual modification of a block that already exists So this is an example of a group block that has a horizontal scroll on mobile So instead of collapsing you can scroll past the screen. This is just a variation on a group block But it's still just a group block You can also start building Block templates and start incorporating block locking. So this is again something that's been really useful for clients If I create a custom post type I can pre populate that custom post type with a whole bunch of blocks that are already on the screen So they don't have to try to figure out which things to put on there They just already have blocks and I can also say you can't remove these blocks They stay here so that you don't mess it up because the whole point is to make it easy for clients to update things And again, we're already creating a whole lot of value for our clients And we haven't had to touch any of the new stuff yet really so this is great I also want to call out if you're already using one of these tools There is a couple companies that make Custom block creators where you don't have to use javascript You can you know use their tool to to write php and create custom blocks So I just want to call out that these things exist And they've been really useful for a lot of people that are trying to make this transition I personally have used acf custom blocks before They can be somewhat slower than native blocks But it's still really awesome to be able to add this value to your clients Even when you're still at this part of your journey So let's let's look at the benefits and obstacles right so so far We haven't changed much to the theme yet, right? You know, we've changed our css But our theme is probably built pretty similar. We're just adding some stuff to it to make it better And what's really great about this is it can be as much or as little as you want Depending on what your client needs. So I spent a lot of time in this phase I've I built a lot of themes that we're doing exactly this stuff and making the the block editor more useful for my clients But you know, we're getting here. This is the ordeal. This is kind of the climax of the movie, right? You know fight the dragon it's the hero's biggest challenge so far And our biggest challenge is going to be writing a full site editing compatible theme So here we go And the first thing we have to do here is like really learn block grammar And block grammar is one of those things that exists and it's true and however you feel about it. It is what it is One thing to note is, you know, again, you'll learn a lot about this by exploring the code view of existing themes and existing content We have some that are self-closing which means that they don't have content inside them like wp search We have some that do contain content like wp paragraph where you can see the paragraph is inside it And you can also see that you can pass different attributes to them So they are written basically like json And those are the same kinds of settings that you would see if you were editing those settings in the sidebar in the editor And this is this is what it looks like to write blocks I'm not so one of the bummers I'm not really sure that any like ide's or coding environments have support for this syntax yet So unfortunately when you're writing it, it's going to look gray like a comment because it thinks that it's a comment But maybe that's something someone's going to solve soon if they do please let me know that would be great But this is this is what you're going to be doing is you're going to be doing a lot of block grammar And you also have to learn a little bit of a different template structure So it does still follow the same template hierarchy. So if you know that you're you're good You're just writing html instead of php now You also you put all your templates in a template folder You put your parts which are now patterns in a parts folder And you you don't even need an index dot php anymore. I believe I think that that changed So you just need your your index dot html your style dot css If you have any template parts your theme dot json, which we already have and Any functions or anything else There's several resources on this. I I can't teach you this year. I wish I could But I I love these resources for specifically talking about how to convert from a classic theme to a full site editing theme I think that it would be really great to take a look at these I do also want to mention For people that are kind of moving into doing a full site editing theme. I converted mine It is still possible to use php templates within full site editing This is a an awesome article about how that works But if you need to do something more complex and you're not quite ready to try to figure out how to write Custom blocks to do all of it. There are ways to write php templates That are used within full site editing. You can't edit them in the editor But you can still use them and this is really great if you have to do a bunch of dynamic content or or stuff like that And there are there are some workarounds necessary to how you write it They're all listed in the article and I'll let them do a better job of explaining it than me But here we are we're looking at our benefits and our obstacles now You can see the the box are really going up on on what we have to do here because this is a You know complete rewrite from the ground up right now now we are kind of taking away our old theme and rebuilding it in this new paradigm It's a high level of time and investment to to rebuild it or build a new theme It is a pretty big change from our previous development workflow because now we're writing this block grammar instead of php for the most part Um And there is some trial and error when the markup is wrong You know the fun thing of like opening up your editor and your editor is just a white screen instead of a useful error message Is great. Um, but and also again like I called out in the code editors Like there isn't really any good syntax highlighting for block grammar yet Although again if someone wants to solve that, please let me know that sounds great Um, but the benefit is like you can actually fully take advantage of full site editing and make those tools available To your clients who would need them So all right now we've gotten to the reward like we are now full site editing developers It's the light at the end of the tunnel. We are officially building things the new word press way. Yes. I saw a golf clap over there Yes, good job everyone. We've made it this far. Um But you might be thinking like all right, you know, we fought the dragon. We've got our gold But there's still limits to what we can build and customize using the tools we've learned so far Um And that's when we realize that we have to take the long road back to the ordinary world And there's more for the hero to face and in our case we need to face javascript Here we are So a simple way to start that is you know earlier we talked about registering block styles with php You can also register block styles with javascript. It Does the same thing But instead you're using javascript but a good way to kind of start getting used to writing it Uh a very powerful tool that i've started using recently. So this is about the spot where i'm at in this journey by the way I'm here um And i've started to write custom block variations and block variations are a little bit different than block styles Block styles are a visual change to an existing block and block variations are a little bit of a functional change to an existing block Which is neat. I've started using block variations to modify the query loop block So that uh, I can insert query loop block with uh different Pre-populated fields inside it or maybe ordered in a different way or maybe like using different parameters like I found a great article on how to Order it by a metafield value rather than the the built-in values Which is something we would expect to do in a normal wp query, but it's not in the query loop interface So I love block variations as a way to start using javascript a little bit more, but still not going too much But I do have to bring up and this is this is one of the hurdles Especially if you haven't worked in javascript very much is if you're going to start moving forward beyond this you're going to have to Get some build tools and and start transpiling You can write everything in standard javascript, but most things are written in es6 and jsx and these are syntax extensions to javascript that browsers can't currently read So that means that these need to be transpiled into regular javascript before they run And that means you need build tools now Learning to set up and configure build tools is a whole talk in and of itself It might even be multiple talks and there are many tutorials for this But I do just want to mention that wordpress has a wp script package That contains all the tools that you need to like build watch and lint forward press specifically. So that's really nice Still again a little bit of a pain to get it all set up Especially if you're not used to working with build tools, but it is there But once you start working in this transpiled javascript, um, you've got a lot of options, right? It's really cool I just saw this article that was about creating a custom ui for like inserting different things into the editor And I think it's a really great start series. It's like a three-part series for Getting started with the build process how to set it up and then converting that to new ui elements So again, here we are benefits and obstacles, right? What are the benefits? Well now we can kind of create any ui control that we want, right? It's more seamlessly integrated We're not, you know, just having like a bunch of styles on the side. We're having custom stuff We have variations which are very powerful Um, but of course, there's some big obstacles, right? You have to start getting familiar with the command line Uh, you have to be able to set up and install and troubleshoot build tools with all their secret rules that are only documented at the bottom of a stack overflow article somewhere You have to learn about package and dependency Management and of course if you haven't been writing javascript you have to learn javascript syntax and you have to learn jsx syntax and a whole bunch of other things Um Once all this is set up though You can keep using it again and again like you don't have to do it over and over So, uh, I think it is worth it, but acknowledging this is a big change and a lot of time So then we get to you know the final battle, right? Like you think you think the thing's over But there's one last thing that the hero has to face and they have to take everything They've learned to face the biggest challenge and that one is building custom blocks. Here we go Now I do want to mention that it is possible to do everything else in this journey and never build a custom block There are plenty of people that are building custom blocks. I bet a lot of things have been solved Um, however, I know much like learning how to build custom themes or plugins in the first place We we probably found ourselves here because the things other people had already created didn't quite match our use case, right? Like they got 90 of the way there, but not quite So I just want to talk a little bit about what the custom blocks are Again, I'm not teaching you how to do this, but I want to make you aware There's a couple different kinds So one is called static blocks and these are most of the blocks that you're kind of interacting with in the editor All the content and markup are created and saved to the post within the editor So stuff like paragraphs headings groups columns images media, etc. Those are all static blocks They often have a lot of style and setting options and some can contain other blocks within them The difference between static blocks and now dynamic blocks is that dynamic blocks content They kind of display content from other parts of the site usually So the query loop is a great example of a very complex dynamic block Another example that they show here is the site title block where it displays the site title Well, the site title is set somewhere else So these blocks render their content differently. They often have server side functions associated with them But they can still have like styles or other block settings within the editor that influence what they look like or how their content is displayed So again, there's a difference between static and dynamic blocks And there are plenty of people that are talking about this if you want to go into more depth when you're ready for it But just be aware that that difference exists And again your benefits and obstacles for for building custom blocks I mean we've filled up all the bars in terms of change in time like this is the biggest difference This is the most time commitment The document you know we're doing things that are new So the documentation hasn't fully caught up yet Especially if you want to do something kind of your special snowflake exact thing that only does this bespoke thing your client needs You know harder to find documentation for that again Making sure all your build tools are working package and dependency management and then writing more reacts syntax So now you have to start getting into like I actually have to know this other language a little bit But the benefits are huge because now you can do fully custom functionality. You can do a fully custom UI I know we all saw the Presentation with the nasa stuff like all of that is just possible because we can do all of this stuff with with custom blocks and custom building So the last phase of the journey is the return with the elixir right you've brought the prize home And what that means for us isn't that now we have to build everything with full site editing and with custom blocks What it means is that we have a larger suite of tools at our disposal And at this point it's still okay if you build a classic editor theme These are good for managing things with like a lot of structured data or metadata Where people don't really need to change how it looks very much right? It's totally okay if you do that It's totally okay to build a hybrid theme like where you're building a php theme But letting people interact with the the the classic editor Like we want to be able to take advantage of as much of that stuff as possible But maybe it makes more sense to not have them be editing the header and footer right And it's also totally okay to build whatever custom unique solution with all of these tools that best fits your client's use case It doesn't mean that you have to do it a specific way or not So really the point I want to make is like No matter where you're at on this journey. You're the hero You are providing value to your clients during each one of these steps And also these steps were presented in a specific order But you might have to jump around and go back and visit steps and keep updating things I'm personally still on this journey. Like I said, I'm kind of in step like nine and ten right now So I've only just started getting into building custom blocks. And maybe maybe I don't go down that road Maybe I love that road. Who knows but I'm still being able to provide value to my clients and solve their problems Based on the things that I know So anyway, um, this is my contact information I know we'll have a little bit of time for questions But I want to just specifically point out that link at the bottom the bit.ly 2023 dash wp-themes That is where these slides are located if you want to go back into them and check out all those tutorials Yes, take the pictures And I think that's it and I'm ready for questions So I think the way questions work is you can go up to the microphones or whatever, right? If you want to be brave Don't be shy. She won't bite you No, or maybe it was perfect and you have zero questions and I've literally taught you everything. That's great Yeah, hi, um, I'm from Minneapolis. So good to see you. Uh, my agency. We use acf blocks. We're building custom blocks What would be a good is there a good transition into full site editor that you would recommend Okay, so the question if you didn't hear it was like they're currently using acf blocks and you're asking like What's a good transition to the full site editor? Well, um I mean, I think you don't necessarily have to stop using acf blocks to transition to the full site editor because they're Blocks, so you can always like rework the theme around it and keep using acf blocks if you want to I I'm probably not the right person to ask about like if you want to migrate from acf blocks to building your own custom blocks That is Probably a person above my pay grade which there are many here So that's very convenient that you have that question But I do think that like if you're using stuff like acf blocks and you want to convert your theme to using the site editor There won't be a problem So out of curiosity, which editor do you prefer to work in for me to build the syntax highlighting in? Okay, can you say that again? Sorry, which editor do you want the syntax highlighting for? VS code Yes, I I'm a vs code person So if you're if you're planning on solving that for me right now and everyone else, uh, that would be neat Hello Hi, thank you. Great presentation Uh, I have a question. Do you know, uh, good solution if you have Two different roles Inside a company one person should be able to fully get a website like use the blocks and everything and the other person is just content manager and they need only like to change the content like titles and text and How to limit their access what they can change Without like missing the blocks like order all the colors and everything. Is it possible? Is it possible? So I believe it is possible I haven't had to work on a project like that But I think that some of the bigger projects like nasa have definitely had to do things like that where they've had to limit How people can interact with blocks on a role basis So there are probably people here that have a good answer to that question. But again, I know that it's all pretty new So I think Okay, so there there are apparently some plugins that let you get really granular with access privileges I haven't used them, but it would be interesting to see how those integrate on like a block by block basis I wonder if there's things that that integrate with like block locking from that perspective So that might be fun to look into but thanks for your question. Thank you Hi, hi, can you describe your Let's move the site around from different environments workflow because Personally that has been by far the hardest part for me just because of the nature of the interaction between the database and the theme That wasn't there before sure So I'll expand on this for people that maybe don't know or haven't worked with full site editing The super fun part about it is that When you're making theme changes in the editor those all live in the database and if you're used to Being able to move things around via version control or maybe being able to deploy things between different environments that can get kind of fun So Right interesting. Yes So I guess Some of the things I've been doing in order to do that is like Exporting any of the stuff that I'm manually doing inside the editor out back to the theme and only deploying Like the changed theme to production Which is also not that ideal because then if people are making changes To production like how do we get those back on to it? I haven't solved it. I haven't solved it I mean, I'm sure there's plugins for that too Yeah Which one? Oh, yes. Well, I did. Yes. So create block theme, which I do think I mentioned in the presentation as a link is a really useful way for Exporting things that you've been doing either as a child theme or as its own new theme or Rewriting the original theme. So yes create block theme. I know I didn't call it out specifically although I had it on the screen Is useful for kind of packaging up all of those changes But again, it doesn't really solve the part about like stuff going production and back But it does do it like one way. So hooray. Cool. Thanks I just wanted extra confirmation that it wasn't just me fair enough All right, we probably have time for like one one more question. Yes. Hey, michelle. Hi So Content layout has been a need for developers for decades in WordPress And I'd say a lot of developers are on a parallel track with different page builders like beaver builder elements or divi So I wanted to ask Have you and your agency used any of those? And if so, what made you decide to move into full site editing and block editing? Sure. So the the page builder question always good Um, so I personally didn't use page builders I didn't think I was quite the right market for them the way I feel about page builders I think they're very useful first of all, so I'm not anti page builder I think page builders are extremely useful for people who have Very strong Detailed opinions about what they want their theme to look like and they want a user interface to do that Rather than putting that into code and I think that's awesome And that just wasn't me I think that page builders still have a use in this case because there are still some more granular detailed opinions That probably won't ever be in the full site editing interface and for those people Page builders are probably going to still make a lot of sense and all of them are very smart And they know what's happening with full site editing and they're going to try to make that as seamless as possible I think full site editing is kind of in that really sweet spot in the middle Where you don't want to you know, you don't want to just have a bunch of fields But you don't need to give people like granular control over every single detail of every single element And I think full site editing is kind of that sweet spot in the middle of that especially Maybe less so for the full site editing part of it. We are updating the header and footer But definitely for the part of it. We are editing the content Cool. Thanks. Are we are we good done? Okay. Thank you everybody