 Right we are recording everything is up and running welcome to everybody joining us today. While you're joining and while we wait for others to join those of you who've joined me on Thursdays before you know I like to give a few minutes for folks to join. Welcome to answer the questions in the chat. What region are you joining us from. What do you do with WordPress and what is your favorite thing about WordPress. I've got the music playing so you can listen to some music I'll try to remember to turn it off before we get started. And we've got Alvaro joining us today he's a he's a new co host Catherine and Robert available so I reached out to some colleagues and Alvaro was available to help us that's great. I see some, I see some, some known faces and I see some new faces so welcome everybody. I look forward to chatting about block locking with you all today. One of the biggest struggles I have is where to where to position the zoom video feeds, because inevitably wherever I put them, they get in the way at some point. I'm basically having to move them around. Anthony says hey I'm zooming in from New York Metropolitan area welcome Anthony. One of the things I like about WordPress is how relatively easy it is to get started yes that's one of my favorite things about WordPress as well. And welcome from New York. That's that's a city I've never been to and I'd love to go to some time. I'm originally from Montana. Love the ability that WordPress has to be easily customizable and create an intuitive interface for clients that's called hi Arthur welcome back. I'm Germany. Awesome. Okay, so I think, I think we can get started colonial beach Virginia don't ask it's a small time. Okay, I won't ask. Hello from Seattle hello Roy hello from Canada. What's over in Canada. Welcome everybody. Jean welcome my goal is to design full side editing sites with clients awesome. I see a I see a I see a name that I recognize welcome awesome. I think it's from your part of the world I'll borrow. I think he's also from Spain from mistaken. All right, I think, I think so yes. I'm sorry. Some reason I thought he was in Spain, I don't know. Is it the better version of Spain the improved version. Wilson is a, also there's a codable expert that I used to be one of my co colleagues with me. When we used to work together when I was a freelancer at code and it makes me super nervous when I know there's a codable expert on board because they're all super intelligent people and why are they, why are they coming to learn here. Okay, I think we can get started. Five minutes seems a bit too much to kind of hang around a wait so again welcome everybody awesome to have you all here with us today. Today we're going to be talking about block locking. It's going to be a beginner's guide to block locking and block theme so we're going to be focusing specifically on what block locking is and how it works in a block theme environment. If you've never seen block locking before hopefully today you will go away with a basic understanding of how it works. Before we get started a few announcements as always first of all again welcome and thanks to Alvaro for co hosting with me today. I really do appreciate it. We are presenting in focus mode so that means Alvaro and I can see all of you but you, sorry, you can see us, but you can't see each other. And that's just to prevent zoom, zoom bombing of any kind. You are welcome to ask questions, and you're welcome to either unmute ask questions or post them in the chat I don't mind either way. The only thing that I do ask is that if your question doesn't specifically pertain to what I'm presenting on screen at the time, I do allow breaks for questions please keep the question until those breaks. However, if your question is directly related to what I'm doing on screen on time, and you're not understanding something or something isn't clear then you're welcome to stop me there and there. There's a raise hand reaction that you can use which Alvaro will be keeping an eye for, or you can just post the question in the chat and Alvaro will keep an eye for those as well. So will I, or you're welcome to just unmute and go Jonathan, hang on slow down stop whatever and we can deal with it then it they. So today we're going to be working with the same block course theme code that we worked on on the last block theme course that I did so if you don't have it and you want to download it these are the links where you can get it from. You don't have to have it to follow along you can you know do it later if you want to, but you can just grab these this this zip file and install it on your local WordPress if you want to try to pop that in the chat quickly. And it's just it's a block course theme that we're using. It's a base sort of theme that we're using for our block course theme. Sorry, our block theme course that myself and my colleagues area are creating so it's very simple. I'll show you what it looks like in a second. As always, if I'm going to fast please stop me and let me know. I will be posting the session to WordPress TV afterwards. I usually do it on the Friday after the after the Thursday session but this Friday I'm off so maybe next week probably on Monday. And then if you're looking for more WordPress focus educational content, please do visit learn WordPress org where most of all of the stuff that we're working on is available. Excuse me. And this is I've seen block locking but I get so confused. Don't worry. I was just as confused when I started. So today our learning outcomes for today we want to learn about what is block locking. I want to talk about the difference between block locking and disabling block settings and how that works. I'm going to show you how to use your theme Jason to disable block settings so we're going to disable a specific setting on a specific block and I'm going to show you what that does. Then I'm going to show you the lock blocking options in the site editor how you could lock blocks and what that means. I'm going to show you once the blocks are locked how you can prevent clients or other users from moving or removing those locked blocks. And you'll notice that I'm struggling to say the words block locking and lock blocks because it's like a rhyme and it's difficult and yeah I struggle sometimes with words like that so bear with me. Okay, so I'm going to grab a quick sip of coffee before we get started. It gets worse in Spanish. I'm not going to try that Alvaro. If you want to have a lovely Alvaro I'm supposed to in the chat I'm not even going to try. We take block block yellow instead of locked in Spanish so block block block block block out of Mr. What brand of your coffee you can actually see it behind me over here. It's a local brand. It's called one cup. It's just a local brand that I can buy from my local shop. I buy it. It's ethically sourced. It's traceable to farmer and co-op positive social environmental impact. I don't buy it for any of those reasons I buy because it really tastes nice and it's well priced. And it's a local yeah a local brand from Cape Town. Okay, you need a second cup in. I like it. Right. Let's get going. So what is block locking. So block locking is a new feature. Let me turn the musical before we get into it. There we go. It's a new feature. A new feature added in WordPress version four point five point nine. You can read about it's in this blog blog post here which I'm going to share with you in the chat and then I'm going to open it up. And in the post where they talk about it they talk about API definitions and they talk about doing it in the templates and it's all very sort of code based and it's all very sort of technical. And then in WordPress six point oh they released a block locking user interface. And I'm going to grab that link here quickly. And I'm going to show you that. And what they did was is they made it possible to actually lock the blocks in the editor. And I don't use the link for it. I'll show you very quickly what that looks like. There's a picture of it just scrolled. They've got a video of it. They don't have a picture. I don't think we'll show it to you in a second. But basically they gave you the ability to actually lock the blocks in the editor. So blocks can be locked at the block level. In other words in the block dot Jason attributes, which I will show you. And they can also be locked in the editor. Now, when you lock the block, all you are doing is you're locking the ability to remove that block from either the postal page or from the theme template or move the block around. Now, we're going to be focusing specifically on block themes today. So we're going to be focusing on how it works in a tempered farm. So I'm going to switch over to my WordPress install quickly if I can find a chair. Oh wait, I'm in the browser already haha city. And this is a make sure this is the right one because I'm going to be running to today. No, this is the wrong one. So let me show you. Sorry. Go away zoom there. So I've got two WordPress sites locally. The one I've called WordPress dev, which is this one over here. And then the other one is called WordPress test. And I've just realized that I might need to zoom in on these things just now. So if you can't see the screen, let me know. I'll zoom in a little bit over here quickly. There we go. Thanks. Yeah. I always forget to do the zoom. Let me make it 140. And let's make this one. 140. Okay. So in my WordPress site, my sort of what I'm going to call the client site. I've got a plugin called learn subscribe. Now this is don't worry about what the plugin does. This is part of something I'm working on for tutorials that I'm working on. But I want to show you how you can lock a block at the block limit. So if I open up, close the site. And I'm going to open the WordPress site that I'm working on. So websites, there's WordPress open that up. And in the, let me close this down here. This is the block.json file. So this is a file that controls how the block works. And you'll see at the attributes level, I can say lock this block. And I can say make it impossible to move this block and make it possible to remove this block. Now this is specifically if you're a block developer. So we're not going to dive into how this works today. But basically what this does is once this block gets added. To a template file, somebody can't then come out, come and remove it. Now this, if you're building blocks, this will be handy for you to do. But we're not talking about building blocks today. We're talking about theme development. So we're going to focus on that. But I just want to show you where that, where that goes. So let's close this down and open up our development site. Websites. Okay. So what I want you to imagine with me is that we're building a theme for a client. We've got the block course theme installed. And we want to lock some blocks for this client. So the first thing that we might want to do is you might want to say, okay, I don't want this client to, for example, be able to go into the editor, be able to change the font styles for the post title block. So this is my, my, my site editor. I'm going to go into templates and I'm going to go into the single post template. So this is the template that renders whenever a post is rendered. And if I click on the post title block and I go to the settings, you will see that under the typography on the right here, I can change the appearance. I can make it thin. I can make an extra lights. I can make it regular mode, medium, semi bolt, bolt, whatever. Okay. I want to disable that functionality. So how would I do that? I would do that in the theme.json file. So if we go over to that file. And those of you who have done the theme, Jason workshop with me or remember what this looks like. Basically this is a JavaScript object notation that allows me to do all the settings and things for my block theme. In the settings area, I can set things like appearance tools and colors and all those kinds of things. But I can also set things at a block level. So if I add blocks and then I specifically say I want to work with the core post title block. And I want to set for console font. Oh, no, sorry. Let me check my notes here. I don't remember how this works. Right where my notes. Yeah, there are typography. That was what I need to say. Sorry. So first I'm going to say I'm setting typography settings. And then I want to say font style. I want to set that false. In other words, I don't want people to be unable to change the style and font weights. I want to set that to false. I don't want people to be able to change the font weights. Now, those are the two things that make up that dropdown. If I save this and I refresh the editor. And I go back to the post title. You'll see that that dropdown has disappeared. It doesn't exist under typography anymore. What's so interesting is if I go into the global style setting, which is the styles button on the top right here. And I click on blocks. And I go and find the post title block. And I go into typography. You will also see that dropdown doesn't exist there at all. So I've disabled that setting for anywhere that the post title block could be used. Users can't change it in the global styles. And they can't change it anywhere where it's being used in templates. So that is how to control settings for blocks. That's not block locking, but it's useful if you're building themes for clients and you want to disable certain things. You want to disable them changing the color, changing the background. It gives you that level of control. Okay. So I'm going to stop there for a second. And I'm going to talk about how, you know, how this whole thing of disabling settings and that works. While I grab a sip of coffee, if you've got any questions, let us know. And then we'll move on to how we lock blocks. Yeah. Just join us. Hello. No questions for now. My questions. Awesome. I think we can move on. Great. So as we said, block settings, they can be enabled or disabled in the theme Jason in the settings area. So the block settings can be enabled or disabled. So the block settings can be enabled or disabled. So if you have a block setting, it comes to your second question in a second and they can apply to all instances of that block across the entire theme. So wherever the block is being used, the settings that I enable to disable will be applied. Linda says, so in this example, the client can still use the color setting. Yes. So for example, if I wanted to disable the color setting, then I would, in this core post title area, I could then say something like color. Settings. So I would change custom to. False. And maybe I want to also disable the custom. I could make that false as well. So it gives me full control. The other cool thing you can do is you can enable settings globally. And then disable settings per block. So you could say, I want to enable all font style of weights. Or disable it globally. And then per block enable or disable it. So it gives you quite a level of control. Of how things work. I do recommend if you haven't seen it, I did a workshop. It was last week on how the adjacent works. So go and have a look at that. And that'll give you some, some introductions on how that works. But it basically gives you the option to enable or disable settings specifically to. To how the blocks work. Okay. So that is how we can disable and disable settings. Now let's talk about block lock. Okay. So block locking can be enabled or disabled in the editor. So it's great. We don't have to worry about writing the adjacent code. We can do it from the editor. Block locking only applies to the blocks that have been locked. And I'll show you what I mean by that when we actually go and locks and blocks. And currently the locking settings only support either disabling or enabling the ability to remove the block from the template. Or move it around or a combination of both. Those are the available settings. There may be some additional settings that it's on. Like maybe you can lock different things, but for now, those are the two options available. So let's go back to our editor. And we're on the post single page. If I'm not mistaken, let me just move this. Yes, we are on single post. So now I want to do some locking. Now one of the cool things that I want to show you today that I don't think I've covered in previous sessions is the list view in the editor. So what the list view does is it gives you an overview on the left hand side of all the different blocks that are being used in your template. And it's a great way to kind of see the hierarchy of the templates. So in other words, in this template, I have a header template path that's being used, which has a group inside of it, which has a row, which has a site title and navigation. Then I have another group block with another group block with the post title, post feature image and a separator. Then I have a spacer block, the post content, another spacer and another group, which contains some more. And I can get a good overview of how everything fits together. The other thing that I like about the list view is I can enable settings for the blocks from the list view. So I can enable them not only from the editor view by clicking on the options and then working with the settings here, but in the list view, I can also click on the options and the same list of settings pops up. So it gives me a nice set of options for when I'm working with blocks. So let's talk about locking. Let's say that I want to lock the post title, the post feature image and the separator block in the top level group. And I don't want folks to be able to remove them. And I don't want folks to be able to move them around. You might think that you could just do that by locking the group block. But all that does is that locks the group block from being removed or moved around. Folks could still remove or move the post title, the post feature image or the separator. So if I wanted to lock that whole thing, I need to lock them all individually. So I'm going to start with the group and I'm going to work my way down. So I click on my options. I click on the little lock icon. And then I can select and I can say either lock all or just disable movement, just disable removal or both. And you'll see where it both happens. It's the same as local. So those are the options that I can set. And you'll see when I apply this, this group block is now locked and the option to remove it has disappeared from the list. And if I click on the group block, the buttons that allow me to move it up and down are disappeared. Let me show you what those look like. So let's unlock it. So there's the remove. Let's come back. And when I click on the group in the editor, there are the move up and down buttons. So I'm switching them on and switching them off effectively. So let's lock it again. But you'll see if I click on the post title, the move buttons are still there and the option to remove it is still there. So I want to lock everything down. So now I need to go individually and I need to lock those. And I need to, I'm going to just do this from different places so you can see how it all works the same. And I'm also going to lock down the separator. Okay. Now that's all locked. And that's all well and good. But the problem is, if I have a look at these things, I can't move them around, which is not great for me. So I'm first going to do all my design and then I'm going to lock thing down right at the end. Okay. So I'm going to stop there for a second, grab another sip of coffee and allow us to see if there's anybody who's got a question. And then if we don't have a question, then we'll move on to how do we actually implement this for our clients? Somebody said to me last week, it was Ross after last week session, he said, I love the fact that you think having a sip of coffee slows you down. But it forces me to take a break. And allow for questions. And Linda has asked the relevant question. But at this point, you can still unlock them, right? Yes, Linda. I can. So that's the thing. So if we think about user roles, administrator level users, are the users that have the ability to install and uninstall themes, which also means they have the ability to edit themes. So if I'm giving this theme over to a client and I'm giving this theme over to a client, I'm giving this theme over to a client, I'm giving this theme over to a client, and I want them to be able to edit the template in the theme, but not move the locked blocks. I'm going to have to give them administrator privileges, which means they can still do the unlocking, which is not ideal. So how do we fix that? At the moment, the way we fix that, and I'm going to find the, I think it's in this post. Yes. At the moment, in this post that I linked earlier in the chat, where the, it was titled Block Locking Settings in WordPress 6.0. So this is a brand new setting in WordPress 6.0. There's a can lock block setting. And what you do is, in your functions.php of your theme, and this is, if you're doing block themes, it might be one of the first times you write some code in your functions.php. You use that setting to disable the ability for specific users to unlock the blocks. Now, you might wonder, why is this in code and why is this not a setting somewhere? Well, the reason for that is the setting would probably be available to the user as well. So if you have it as a setting, they might be able to do that setting and then make the changes they need to. What I think might, and there is a GitHub issue that I've actually linked to. If you have a look at the link vaults and the slides, which I will share after this call, I know it isn't here, I'll find it. There's actually a GitHub issue where they're talking about some of the changes that are coming to that whole process and they want to allow more fine-grained control over who can lock and unlock things. But for now, the way to do it is to use the can block block setting. So this code is a very good example of what we can do. I'm going to copy this code out now here. I'm going to switch over to my editor and I'm going to open the functions.php file of this theme and I'm just going to paste this code down and we're going to go through what it does. If you want to copy it from that blog post as well, you're welcome to, but this is what we do. So it's basically starting at the top here. It's adding a filter. If you don't know what a filter is, I did do a workshop and a tutorial on WordPress filter hooks. I highly recommend watching that tutorial. Basically, filter hooks are a way that you can interact with WordPress code and you can make changes to settings in the code execution. So the filter that we're hooking into is this block editor settings all filter. And what that filters is an array called settings and it contains all the settings for the block editor. And the one of the settings available to us is can lock blocks. Yes, Linda, finally a use for PHP block things. So you'll see the first thing that's being done is it's saying allow for the editor role and above. Now I want to change that. I only want to allow it for administrators. So to allow it for administrators only, I've actually got this code in a guest in GitHub, which I will quickly share with you in the chat. And you basically do this check here. You say settings can lock blocks is equal to the results of current user can install themes. So let's talk about that. Let's go back to, let me just actually copy this arch here and put it in Visual Code Studio because that's a bit too small. And we'll do it over here. So the current user can function is a function that checks. Can the current user perform this action? And you'll see this article here about roles and capabilities. If you've never read about roles and capabilities, you can go read up about that. I highly recommend it. But basically the capability to install themes is something that only administrators can do unless you create a custom role. But by default, only administrators can install themes. So that line of code basically says, change the can lock block setting to the result of whether the current user can install themes, which will be either a true or a false. So if it's an administrator, it will return true and it will allow all those administrators to lock and unlock blocks. If it's any other user type that cannot install themes, it will be false and they will not be able to lock and unlock blocks. Then the next section of code gets the current user object. So in other words, the person that's logged in and it checks against their email whether they're in an array of email addresses against that. So in this case, if there's a user with the email address useradexample.com, it will set can lock blocks to false, which is what we want. So we want specific users to not be able to lock or unlock blocks. So now that we know this knowledge, we think, okay, well, what is our user's email address? I'm going to go over to my client's site, which is this WordPress.test. And I'm going to show you, I have two users. The one is myself. I'm the person who set up the site for the client. And there is my content editor user, my clients, if you will. They are administrator and this is their email address. So I'm going to copy the email address and I'm going to pop it into that code. So what that's going to do is it's going to say, right, any user with that email address switch can lock blocks off. And that's all I need. You can also disable it for posts or pages. That's entirely up to you. For now, I'm just going to take this code up because we want to just keep it super, super simple because I might have different settings that control how posts and pages work. And the blocks that I'm locking, you wouldn't be able to change on posts or pages anywhere because it's a template. It's a theme template file. Okay. I'm going to take another break here. Leave the code on screen if folks want to see it. I'm going to zoom in one time so that it's a bit bigger and see if there are any questions. If they're not, then we will move on. Okay. There don't seem to be any questions for now, which is great. So just as a review, I've left the post title settings as we would done them. So I've disabled font style and I've disabled font weight because that's the setting we want to see. I leave the functions like PHP there because I don't want those users to be able to edit things. The cool thing about this is that I'm not going to be that user. While I'm working, it's not going to affect me, but as soon as I install it on my client's site, it will take into effect. Now, obviously I've now built this. I would have done all kinds of other things and I would have made all kinds of other changes and I've built my theme and I want to export it for my client. And those of you who have been to some of my online workshops before, you will remember there's a very cool plugin that does it for us. It's called the create block theme plugin. And I have linked to the WordPress TV video where we did a workshop on how create block works, create block theme works. Basically it's a, let me find you a second. It's a plugin that allows me to export my changes, the original theme files, and then my changes into a separate theme. So we're going to go through that process now. So the first thing I need to do is I need to save the changes. So we hit save and it's going to, I'm just going to move the zoom window out of the way. It says, are you ready to save? The changes that are being made are to the single post template. That's perfect. That's what I want. You'll notice it doesn't pick up the functions.php because that's separate from the block editor. So I hit save and that's good to go. Now I need to export this for my client. So I'm going to go back to the dashboard and I'm going to go into the create block theme menu item that the plugin, the create block theme plugin installs me. In that option, I have a few things that I can do. The first thing that I want to do is I want to show you what happens, what the code looks like with the locking in place. There's two places I'm going to show it to you. The one place is in the editor and the other place is in the code. But to see it in the code, I first need to overwrite my changes. Now, depending on how you work, you might want to start with a base theme and then clone it and then work on it and overwrite it. I'm just going to overwrite this theme because I'm going to delete the changes later. But basically what overwrite does is it says save the user changes. In other words, the changes I made in the editor as theme changes and delete all the user changes. So it's going to make the changes to my core theme. So let me show you what I'm talking about. If I go into my current single template, if we look at the block group at the top here where the featured image and things are, this is what the code looks like. It's block group, host title. Then it's about the featured image, block, then the separated block. And you'll see there's nothing about locking there. But if we go back to the editor, let's actually do that quickly now and have a look at the code for the template, which is, where's it going? Single post. There it is. And you can click on the options and you can switch on the code editor. You'll see that there in the group, there is a lock attribute and move is true and remove is true. The same for the post title. There's a lock attribute there and the same for the featured image. So that's what enables the locking. But that's only being stored on this site. I need it into my theme. And that's where create theme comes in. So to make sure that happens, let's go back to the dashboard, going to create block theme and we'll say overwrite the current theme. And there we go. That's been done. So that's for my personal purposes while I'm developing. And if we go back there, we can see the code is changed. The group is locked. The post title is locked. The featured image is locked and the separator is locked. Okay. So that's my current theme that I'm working on in my development site. I'm happy that it's there. It's all working. Now I want those changes for my client site. And I want to overwrite the current one. I'm going to use the export functionality. Sorry, not the export functionality, the clone functionality. So the clone functionality takes all those changes and creates a brand new theme. And it gives me the option to give it a theme name and a description and URIs net. Just perfect now for going to a client site or distributing to the repository. So I'm just going to call this client. I'm going to say locked theme. I'm just going to give it the name for now. I don't need to worry about the rest, but obviously you would fall those in. And I'm going to say create theme, which is perfect. And then I'm just going to store it to my desktop because I want to load it on my client site. So we'll go save there. And if we go over to the client site, which is this one over here where content is there, and you'll see if you look on the top right, the content editor is the current use. So you'll see they're able to install the theme, which is great, but they can't edit the lock blocks. So if we go into appearance themes, we can send them the file or we could do this for them. Let me go add new. Just as you would normally install a theme and we can upload the theme. And there's the client lock theme. Let me say open and install. So this takes a few seconds while the files upload and does its thing. There we go. And now we want to activate that theme. Okay. So there's the client lock theme activated. If I look at the front end, I should see that it's activated. It's got the colors that I want. That's perfect. But now as the content editor, I want to go in and I want to edit the single page templates. And I want to move those lock blocks around and I shouldn't be able to do that. So if we go into templates, and this is where if it goes wrong in the live demo. Okay. So here we go. So here is my post title and you can see immediately, there's no move buttons. And you'll see in the options, there's no remove buttons. And the same for the featured image, no move, no remove, and the same for the separator. But the rest of the blocks, I can move them around. I can remove it if I need to. What you'll also notice is that if I click on the list view, it actually shows that the blocks are locked. So my user can see that the blocks are locked. Now you might not want that to display. And that might be a conversation that we maybe need to have with the development team. It seems feasible to me that you'd want the user to know this and those things are locked. But you'll notice I can't click. There's no option to click on the locked, unlock it. So I'm telling my user, these things are locked. Leave them as they are. I don't want you to mess with them. The rest of the blocks are the same as they are. And literally the only way that my, I'm going to open up the WordPress one now. The only way that my client could possibly now make that change is to have enough knowledge of the code to go into the theme files themselves and go into the template and either disable the functions like PHP code or in the single remove the locking functionality. Now the truth of it is if they were able to do that anyway, then they would have been able to do that with a classic theme. They were able to be able to do what they want. So it's kind of, there's no other way to prevent it from happening if they have that access. So a little trick, if you don't trust your clients to break things, don't give them FTP access to the files. Self hacking is absolutely, but from the front end, as you can see, it is lovely. It's locked down. They can't move it around. They can't do what they want. They also can't, if we go here and now change the topography. So those settings are still there. They can't change that if they want. They can't do it from the styles interface. If we go, sorry, where was it? If we go to blocks, those type of topography, again, they can't do it there as well. So the theme settings have carried through, which is what we want. And the locking settings have carried through, which is exactly what we want. Okay. So that is my bit. I just want to check in my notes. If there was anything else that I wanted to cover, but I think I've covered everything. So are there any questions at this point in time? About anything that I've covered? I see there is a question coming through. Yeah. Yeah. So when you override current theme and rename, will there be no original theme updates to that theme? Yes. That's exactly correct. So. If I, if I said, and really it depends on. Your personal preference. So. If you're going to start with a theme. And you're going to be making lots of changes. And you want to be able to say, commit those changes to, to revision control. Then you would typically use the overwrite option. Because then you would overwrite the changes. To the theme. And then commit those changes to revision control. If you're happy just to design it in WordPress. And just keep saving. And you don't worry about revision control. And then eventually you want to, you want to create it for your customer. Then you just need to use the clone option. So it really depends on your workflow. That's the great thing about create block theme. As it gives you all the different options. So whatever suits your workflow is the one that, the one that you choose to use. Personally, what I like to do is I use. I make some changes. So. Because I want those changes stored to the file. And I'll commit those to revision control. And then I'll make some more changes and then I'll overwrite, make some more changes and then overwrite. And then eventually when I'm ready to rock and roll, ready to ship this. It's uploaded to the repository or sent to the client. I'll use the clone option. Clone it for my client. Give it a separate name, separate description. If it's, if it's for a client, it'll be my URL, my author name. Cause it's good to put those things in your client themes. Trust me. Cause they're not the same. They're not the same. They're not the same. They're not the same. They're not the same. They're not the same. If you go to your client themes, trust me, cause then, they'll know you did it for them and they'll come back to you. Um, or if you're, if you're selling it or submitting it to the repo. And then they'll create the zip file ready to rock and roll with all the files we need. Okay. Any other questions. Uh, while we are here, if there's no more questions, there are some additional things that I was hoping to cover. So we will have time for them. Um, So Jerry says, So as content editor, I can also do self hacking by creating a child theme of client locked theme. Yes, that's a good question. I actually don't know the, yes, you should be able to. So if you created a child theme and then you overwrote the single post templates and you remove the locking, then you would be able to disable that functionality or in the functions.php. So you would need to hook into the filter after the parent filter, because I think the parent filter will still fire and then do some self hacking in the child theme. But again, if you're worried about your clients doing that, well, they have access to the code anyway. So they could self hack it in the parent theme. But yes, you could, and that's a cool way you could add, you could have things locked for one client but not locked for another client. There's multiple fun things you could do. The other thing I wanted to show you in the code is let's say you have different administrative users and you want to disable and enable for some of them. So let's say I've got a couple of clients that I want to disable for. I can just use this code as an array, comma separated array. Sorry, let me just do that. So I could say the user with content one and content two can't enable these blocks but all the other users can. I could even just disable can lock blocks entirely by making this false. And then I could do something like this where I say, okay, certain users can by user level. So I'm just gonna copy out that code and I'm gonna say, let's say me as Jonathan Bosner at gmail.com which I think was my email address on the site. I could do that. And then I could say for this user specifically the setting is sorry, true. So I'm saying for the one user it's true for the two other users it's false and then it's the default everywhere else. It's the false everywhere else. So it gives you a nice fine grain level of control. What I would love to see at some point is this in your theme JSON in your setting somewhere. It would be cool to somehow set it up with the user type by email in the theme JSON just as a, something like this. So in the settings you could have something like can it's not currently there but you could have something like can lock blocks and you could say something like default is false. So disabled for all users and then per user true or something I don't know how it would work but that would be cool to do in the theme JSON settings because then it's for that theme and then you can have a different per theme. You don't have to worry about functions on PHP again and this is spoken as a PHP developer. I just love the idea of doing it in the settings like that. So I'm sure there will be improvements to how this work. I mean, block locking was literally just released in version six which was the last major version. So I'm looking forward to seeing I actually want to find that that get happy she quickly while I'm here. So it was on learn it was on the ticket that I was working on to put this workshop together. I do recommend going and reading up about what they are planned there. Here we go. So there was a, here it is. Multiple, it's titled multi entity permission management and it's talking about freezing different parts and things like that. I highly recommend reading this. I will share it in the chat and I will include it in the slides but that's kind of where folks are moving towards in terms of managing all of this and site editing, restricting and unrestricting and how will that work. So I'm sure there's definitely going to be improvements down the line. Okay, I'm going to move on now. We've covered the basics of what I wanted to talk about but there are some additional reading I want to share with you. The first one is the Gutenberg Times website. It has a lovely article on the different options for disabling theme features and lock and lock blocking. Most of the content that I read about for this workshop I read from there. There is also a site called fullsiteediting.com. It's a contributor called Carolina. She writes a lot about full site editing block themes and all of that and she's got a section on locking blocks and templates. I didn't cover templates today because templates is a little bit more advanced, a little bit more PHP code. We might do that in the future session. And then all the links about locking blocks in WordPress, which I've shared with you already. So I do recommend reading those if you get a chance. Awesome, that's everything I have for today. Does anybody else have any questions before we wrap up a little bit earlier than usual? I have one, try me. I've typed it out in the chat just in case but as I was seeing you type out the values here and there what came to mind was how interesting it would be to have some kind of plugin or it could be core but it probably sounds more like plugin territory where you could specify all of those settings by a visual interface and then you could export it as a block like combining that with the other plugin would be really cool. So you're talking about in the theme JSON? Rather than having to type out things and having some kind of visual interface. Yes, so as far as I know, WordPress core is not currently working on something like that but there are quite a few theme development companies that are working on things like this. There's one that is currently in alpha by the folks at WP engine. I can't remember where it is now. Let me see if I can find that because I saw it, hang on. The chat actually followed me recently so I don't mind sharing my follower list with people. I think this is WP engine builders. So the developer relations team at WP engine they are building something called, where was it? I'm not gonna find it now, am I? But basically they were building something that allows you to, it's a plugin and it allows you to, no, I'm not gonna find it but basically it's a plugin you install it in your WordPress site and it allows you to choose all your theme JSON settings from a visual interface and then you can add your templates as well. You can add your template parts you can create everything from the interface and then you can hit save and it'll export for you there. There's another, there's a couple others are doing it. I think, I actually think on the full site editing side I think Carolina might have, they're called theme, they're site creators, theme generators. So Carolina's got this one which has some basics that you can export but I don't know if she, I think she might actually link to it. Let me just see here. I need to find it. Let me just do a Google search, WP engine site builder, I think it's called. I can't think of it now, it's still in alpha but there are definitely folks in the community that are building these things and that's what kind of excites me is the fact that we have companies that are working on these things. Thank you, FAC studio, thank you Stuart. Yes, that's the one. Matthew Cardens is the chap from WP Engine, it's called FAC studio. Let's see if we can Google that quickly, thank you. Thanks. Is it that one? Oh, it actually looks like I had it installed at one point. Do I still have it installed? No, I don't, lost. But yes, here it is. So Gutenberg Times is an article about it and let's see if we can find it. C studio, they might not link through to it. Yeah, here we go. Here we go. So I just wanna show you kind of what it looks like. So there you go. So it basically you load it up and then you can set your theme details, you can set your styles and settings, your theme patterns, your theme templates and template parts and then you hit preview and then you can hit save and it'll generate it all for you. And there's a couple of folks out there doing these kinds of things. So there's a lot of work happening which is super exciting. So yeah, that's definitely, I actually have the alpha version somewhere and I was playing with it to me, it's very exciting. Cool. Okay, I think that's it for today. If there are no other questions, thank you all for joining. This was a very focused session so I wasn't able to stretch it out to an hour but that's fine, I think those who wanna go and play with it, you're more than welcome to. That's the level of block locking at the moment, that's what you can do with it. If you wanna go and play with it, set it up on a dev side, have a go at it. If you're running into any questions as always, please do let me know. And thank you everybody for joining me today and I look forward to seeing you next week. Before we go, before we go, very quickly. I mentioned last week, somebody asked me about doing a workshop on fonts and I'm happy to announce that one of my fellow contributors, chat by the name of Damon Cook, he is also a developer advocate. He's actually doing a session, I wanna find it quickly. He's doing a session on fonts in block themes. So give me one second here. I'm gonna find the link and share with you all. Here we go. So it's on meetup.com already. It's happening next week, Thursday the 15th. And it's all about choosing and using fonts in your block themes. So those of you who wanna know how to use fonts, I don't have to worry about it anymore. Damon is doing it for us. So please do sign up for that. He's also in the States, so it's more of a States friendly time zone. So go and check that out. Can you share the link in the chat please? Yes, that's a good, that's a very good idea. That's a very good idea, let me do that. I'm asking because I might join myself. Awesome, awesome. Cool, well thank you all for coming. Again, it was lovely to have you all here and go forth and luck your blocks. Thanks a lot. Thank you.