 All right, we are live it's been a while since I've done one of these streams this is your first time joining welcome I was doing these every week for a while and then I'd take a bit of a break for various reasons and now I'm back and I think what is today so if you didn't know I just closed down the window but it's not close tonight if you didn't know WordPress 6.5 release candidate one was released recently I'm going to find that release post quickly here we go so WordPress is now in release candidate phase 6.1 but yeah I found a release post not minutes ago there was a link here somewhere I'm sure now it's gone anyway let's go to news I had this open a few seconds ago so 6.5 release candidate was released two days ago now so I always like to start testing WordPress releases around about release candidate stage just because the code is a bit more stable they're not doing major changes there is a big discussion around so if you're wondering where I am now this is the make WordPress.org slash core sites this is the core teams site or blog if you will where they post all their updates and if you scroll down to the sentient very first post there's quite a big discussion about the front library and synced parts and overrides there's been a bit of discussion about stalemates on a couple of different topics 6.5 the front library has been one of them there's an issue around storing the fonts in the WP content directory there's issues around installations that don't support modifying the WP content directory so I guess that's probably one of the biggest reasons people have been stalemates and there's some other filters and things they're talking about so that's kind of one thing that's going on and then there's obviously this bits of updates oh there's the link that's the cars looking for it so yeah so now's a good time to test and this is the release candidate post these get posted every time there is a new beta or a new release with instructions on how to test and so that's what I'll be doing this week and probably next week so my default way of updating my local WordPress environment to test is to use the beta tester plugin it works really really well I'm not going to do that today but today I want to try the WPCLI version so if you use WPCLI this is a way it's upgrade to the beta or the release candidate WPCLI is a command line tool for WordPress that you can install on your servers on your local environments depending on if your local environment supports it mine does so that's what I'm going to do today if you don't have that the beta tester plugin is about the best way to go about it so do check that out as well I will share those links in the chat as well in case anybody wants to grab them so today I'm going to go the CLI version so it looks like it's just a case of running this one over here I have my local WordPress install at WordPress.test so this is just a local test domain local test site currently running 6.4.3 going to that which you can't see because my head's in the way remove my head out the way but it looks like you stole my something funky on my screen yeah I'm sick resizing things on the fly there you go that's better so there you can there you can see at the bottom of my screen under my head there's the 6.4.3 version I'll leave my head where it is in fact I'll be made up breaking my OBS setup on the fly just so that you can see what's going all right so there's the version number so we can use that to check that it's being updated and then let's go ahead yeah copy that this is my local WordPress install I think yes that's my local WordPress install so we can run WPE core update dash dash version 6.5 I have an RCE one and that should just work okay so there is oh haha there is that version database nation this is because I'm not running it on the server I'm running on my local I have my local site sync to a virtual service so I'm going to log into that server quickly show WPE local this is a custom local development environment that I have WordPress there we go so it's the same place and then let's run that would be core update version 6.5 RCE one and there we go updating to 6.5 RCE one the downside to doing it this way is you don't get the cool screens inside your WordPress install that is kind of quicker this way just a right one come on they have to click lots of buttons and you don't need an additional plugin to have to manage okay that's doing it's thing whenever I used to do more traditional online workshops I used to hate the moment in time where some kind of process was happening because I always felt bad and people are sitting around waiting this being a live stream doesn't bother me this doesn't you're taking a long time oh there we go okay giving our files I'm always curious to see that's been removed query styles been removed interesting images have been removed I wonder why those things are removed I suppose it's probably the criticism anyway let's go and have a look so this is the dashboard it's refreshed this database update required oh interesting okay one of those in a while so let's update the WordPress database updates it okay so that's something to keep an eye out for if you're if you're updating things you might need to do some database updates for this version of WordPress Elliot says I love WPCLI myself a huge fan I've tried to contribute to WPCLI just I don't find the time but I'd love to contribute more to WPCLI I have been fortunate to have interviewed to the current existing maintainer a large slasher and one of the previous maintainers Daniel Bachew and one of my previous partners so that was fun okay cool we are using the development version cool please stay updated okay so we're using the development version whenever I'm testing the first thing I always like to do is I like to see what the credits pages do just weird that way they normally don't update the credits page until right just before the end of the release cycle so this is still the credits page for 6.4 which is to be expected this will stay this way until they get there like they sort of design this during the release cycle and then update the page at the very last minute kind of it okay so that's all done I always find it since I have a look at the external libraries to see what's changed okay they were using the shiny new WordPress I don't tend to when I'm testing WordPress I don't tend to test existing functionality because on the whole WordPress is pretty stable when it comes to updates I mean there are you know a few things here and there I test my test existing functionality on my live site when it gets released so when the new version of WordPress gets released I update my live site and I yell at it and if it breaks then I just wait for a fix all of my life so it's super important I'm gonna move my net from screen don't move that head up and get on with some developer test so one of the things that I always like to do is take a look at Ann McCarthy's source of truth so this is a document that Ann works on and publishes on her personal blog here for example is the 6.4 source of truth she's been doing this since I think she started at 6.2 she might have even been doing it before then and she kind of gets it really close to when the release is gonna happen and she sort of lists all of the changes that are coming and what I love about Ann's post is she tags the different updates with things like site admin end user, plugin author, theme author those kind of things and she has a cross link to dev blog posts and GitHub issues and all kinds of other fun things so at the moment she hasn't published this to her blog she's still got it in a working document she is very open about saying this is a public document so please be mindful of the fact that a wider audience than you might think can participate in what's shared here and so she uses this as sort of a living document she makes changes as she goes she leaves comments for folks, folks leave her comments so there's an example here of a comment where this was removed and she's waiting to see what happens in RC1 to update this she might have to move the whole section so I tend to work off the source of truth I also tend to work off on the developer blog I think it's developer, you need to use, share this link with you, why can't I option being paste messages in my chat anyway so there's always a what's new for developers post that comes out around about the 10th 11th of February that Justin Tadlock posts and in that in that post it also highlights some of the new things that are coming so what I usually try and do is I usually try and test it about RC1 and just kind of see what's happening and then I then I test again at around RC2 at around the time that Justin posts this at around the time that Ann posts to her blog post and then I sort of see what's happening in between so those are kind of the things that I work off so I don't have a what's new for developers yet I really have the source of truth which is in its draft format and I work off that Elliot says sorry I missed how you got the source of truth can you show how you got that sure I didn't actually get there so I can share with you though that this is the training team channel and in the training team channel and shared her source of truth a while back she does tend to share it with the training team channel the core channel so here we go on the February the 12th she shared it in the training channel and so I just but I just happened to see myself and been a tag on that post I just bookmarked myself so the easy way to find it is to either go to the training channel in the WordPress Slack or just search in the WordPress Slack in general and search for the words I'm just gonna get rid of that search for the word source of truth and we'll usually share it somewhere along the way so here Joe was asking about in the flip of March and I think it might have been an initial post that she shared I know she shared the leg there but she would have shared somewhere in core one of the core channels I might not be in the channels that she shared it in oh wait here we go there was one she shared in training faculty there's called here we go here we go release leads that's what she should so there's usually a release leads channel so in this case it's the 6.5 release leads it is a public channel anybody can join the channel and she will share them there as well so those are two places where you can find those because I'm in the training channel that's usually where I get hooked so I just go and search for it there and I go bookmark it for myself and then eventually she will post it on her blog as well I'm going to give a shout out to Anne so her blog is nomad.blog I'll share that link she'll probably post it sometime when she gets on afk at the moment she's on leave at the moment so she'll probably post it when she gets back from that and don't hate me for a whole bunch of people who need to blog all right so the other way you can do it if you don't want to work with the source of truth is you can work with the makewordpress core site and you can look for anything tagged 6.5 so if I if I search for anything tagged 6.5 they've all post related to 6.5 come up there is also a if we have a look at if there's a 6.5 release or 6.5 dev notes and we find a dev note and show you so that's the summary that's a we can call that's a new feature I think this is what we call it dev note here we look at this one yeah dev notes here we go dev notes 6.5 so I'll share those two links with you as well dev notes 6.5 is basically everything all features that are coming to that 6.5 release will get tagged with dev notes 6.5 and so if you go through those tags you can see all the features that are coming so that's another good way of checking it out you will see in Ann's in Ann's post she actually includes the dev notes the dev notes tag the development cycle she includes all of that in her in her post as well so there's many many ways to get hold of all this information all right so the first thing that I want to test today is actually the very first post on the make call blog it's this thing called the block bindings API now what excites me about the block bindings API it's a very long post I'm not going to go through the whole post for you now but the example that they use is adding a blocks meta sorry a posts metadata to a block so a custom field for example so for example here they're talking about a book genre custom field or a post meta that exists on the post and then in the paragraph tag you can define metadata bindings content source call post meta and then arguments key book genre so you can basically define the key that way so this is a version one of block bindings API so the idea is that you can define meta keys on blocks and they will then fetch it as I understand it they will then fetch it from the custom field slash post meta for that post so if you use a paragraph tag you can bind whatever your custom field is or multiple customer fields possibly I don't know and then it'll put it in automatically so that's kind of cool I know this is something that a lot of folks have been asking for for a long time currently it only supports the image block the paragraph block the heading block and the button block so you can add block bindings to those blocks what I'm not sure of is how that works in the real world because it looks like here you would add it to the block in the page you I haven't quite figured out yet how you would add it to a custom block but when you're building a page you could add this in the code they do specifically say there is no UI for binding attributes to custom fields yet so you do have to do a little bit of coding on this one so this is very much developer focused at the moment but I do like the fact that they're starting this so the example that I'm going to use for this I have some code that I wrote for a learning pathway that I'm working which I'm going to share with you in case you ever want to use this it's a bookstore plugin so I'll pop this in the chat if you want to play with this result it basically just registers a book custom post type it also let's open it let's actually open up that code here I am in phpstore plugins bookstore bookstore php so what it does make that bigger so it registers a book custom post type it's public it has archives it's available in the rest API supports title it's author all those things and it also supports custom fields it registers an isbn custom field to the book post type so register meta object post field isbn object subtype book so only register to the book custom post type showing rest is true and I'll show you why that isn't a second then it also registers tax on the custom taxonomy for the book not important for today's live stream but I'm using it somewhere else and then finally it also adds a drop down to the custom fields panel so that when you're adding a book manually through the dashboard you can select isbn from the drop down so let me show you what I'm talking about when I say that so if I add a new book here I'm going to say my new book and I can give my books some text I've been able to custom fields panel in the editor so if you're not sure where that is it's options preferences oh this has changed this used to say panels say something else now interesting when did they move that oh there it is it's under the general preferences this used to be somewhere else on 6.4 so this is already brand new so if you're running 6.5 it's general custom fields if you're still on 6.4 it'll be I think panels custom fields something like that so you enable custom fields and then it shows the custom fields meta box at the bottom if you're on a classic theme it'll be the the drop down at the top but if you're on a classic theme you're probably not using blocks so this might not be relevant to you but we all know the custom fields meta box set up and so when I go here I can select isbn and I can type in the isbn thing okay so according to the block bindings API I should be able to bind the isbn field the isbn key to one of these four blocks and then when I put that block on the postal page in our case the paragraph block probably works the best maybe we could do it after the heading block maybe as well maybe we'll clear out of it it should automatically pull that field value in so one of the things that I did before this session and let's actually let's actually give this one an isbn as well so I'm trying to call it book 0002 and the reason I'm calling it that is because I set this up and tested that I can submit the book via the REST API using something called postman postman have you want to pronounce it and the reason I did that is because in the dev note it very specifically says that note that the show in REST property must be set to true for the time being due to security considerations so in other words when you register the meta it needs to be show in REST true probably because they're accessing this information via the REST API and there seems to be some some security issue there possibly you might have the ability to submit the data and they don't want you to be able to do that whatever the case would be I don't know but they do require that you have show in REST set true for the for the meta field and one of the ways you can test that is you can submit the meta field as a REST API post and see if it works which I did to make sure it was working so here is my submitted book and if we have a look it's got the ispn of book 001 I'm going to create another one just for the sake of fun and games so I'll save my postman book number three because we did two during through the dashboard and we'll submit three I'll send that off okay three has been added let's save two here so book two we'll publish that there we go and now we should have three books there you go my new book my postman book three my postman book one okay so we got three books excellent um so if I do a quick REST request I'm actually just going to do this here so let's say let me save this one and then it creates okay close this down don't save don't save don't need that okay so let's create a new request and we'll just get the books from there and then we'll see there's book one it has an ispn or at least book two there's book three it has an ispn and book one has an ispn as well so there's the ispn there so now we can use those to test that all those card books okay let's go so I'm guessing if I look at the way this is implemented so they're talking about registering a custom source to register a block binding source one needs to use the register block binding source function which has the following signature source name parameters so it looks like you can do it you can use customer fields inside the block like this um and then it looks like you need to register the source I'm not sure if you can I'm not sure maybe you can do them separately because this one is talking about registering a source to a block and then there's a value callback so it looks like this might be something you can do custom so we might be able to play both which is kind of cool so let's try I have not tried this yet this is literally what I do on these live streams I go in I find something I'm like let's play so let's see how this works so I'm going to go into I'm going to copy this art and I'm going to go into um it's going to be the post template I guess yes it's going to be the post template so let's just check that let's go to view a book okay so that's probably going to be the post template so let's go into the editor and let's go into the templates that's going to be I could create a custom template probably going to be the single post template so let's verify this by adding a header just above the featured image well just put some text here so we say this is the single post template I'm going to just center this I'm going to save the template because I'm expecting that template to be the one that is rendered when the book gets rendered so I don't think I've specified a custom template so let's see if we are right about that yes excellent standard WordPress standard WordPress things so as Elliot points out if we want a custom template we need to create that template so I'm going to do that quickly so let's go back into the editor and there's multiple ways to do this I'm literally just going to take the single post template I'm going to I can't revert any changes now can I can't remember I don't think you can I think I need to create a block theme for that anyway I'm not going to wait but then I'm just going to take this one out so that goes back to being our standard single post template and then I'm going to basically just go into code editor mode and I'm going to grab all of that I could do a copy of blocks could do that as well and then let's go and create a new post up so it should be able to go here and there we go single item book comes up thank you WordPress for knowing that I have books do they single item books for all books and then actually we can just use one of these patterns I reckon yeah let's just use one of these patterns that's fine I'm going to take away the image I'm going to leave all of this and then we're going to add that's the title that's the group going to add paragraph not a paragraph a heading there we go okay but actually should be h1 this is h that's h1 this should actually be h1 maybe I maybe I should make it a heading maybe I'll just leave it as a paragraph um so let's do that so now this can be our single book template so no if I view the book okay book template great looks horrible don't care we're just using it for testing so according to this code I should be able to update the paragraph tag to bind to the ispn let's see if that's true um this may or may not work honestly have no idea so this is the content which is currently locked unlock it theoretically I should be able to edit the content post content oh no hang on can I edit the post content no it only supports image paragraph and heading builds okay that's not going to work so maybe I should edit the header that might not be a bad idea um no that's post time that's not going to work either okay we're gonna have to just pop down a paragraph too okay so let's switch off the code it's uh um didn't think this through okay we'll just have to drop down a paragraph tag there so let's actually use let's actually use the paragraph tag that we stuck at the top of the page that'll work so this paragraph tag there exactly um so let's find that one and there it is that's the paragraph tag there I will be honest personally this is one of my least favorite things about the code editor in WordPress the new code editor is it doesn't do any kind of nice formatting and cleanup um so I find it quite difficult to edit it in the code editor I would much prefer to see it in my own code editor somewhere but it's fine I mean I could go that route but then I would be I'd have to create templates and template files and all kinds of other things so for now let's just grab the example so it's basically just the opening paragraph block tag um so that's this one over here I'll leave out the align center we can just put it back later so there's all that code okay metadata bindings content source core post meta that should work I guess and the key should be isb in um isb in and I'm gonna actually take this class rgfml it's probably gonna freak out and do that that's fine um actually you know what let's do this one it's actually keep the align center there gonna merge the align center into the json object that should work quickly um I probably should have done this in my local editor I'll be honest um okay so that should work let's save that okay and I'll exit the code editor okay so it's done something there which I'm not sure if I'm supposed to do that um sbm yeah it's not quite doing what I expected it to do um but let's see what happens if I preview this one there it worked that's cool all right so that's interesting so it looks like you put on the paragraph tag it looks like it seems to override the default text of that tag which is interesting um so maybe I should have seen the example you see the example he doesn't have any text there so I want to see does it insert it into the paragraph tag let's have a look um sorry folks my DevTools are a bit yes it inserts it into the paragraph tag ah I didn't see that okay um so if we go back to the code editor basically you wouldn't have this content so what we could do this is actually kind of cool what we could do is we could take this paragraph tag now um and you could move it say after the title area um so there's the title so we could move it down under the title there and then we could maybe not align center it and then I wonder what would happen I wonder what would happen if I put some text in front of it character text in front of it doesn't look like a cat um hmm so I can't give it like a label type thing um but that's the end of the world I don't think um I like the fact that it just works I'll be honest it's kind of cool um I would I would prefer to be able to I would prefer to be able to have like a default text that displays so this is the ISBN like this is the contact I'm pointing at the screen as if you can see me pointing the screen so just like this content block has some default text this is the content block I wonder if there's a way that that works probably not no it's probably part of the block I would like to be able to have like a default text so if I put something in the paragraph tag maybe it displays that in the editor um but then it doesn't display it's in the front end or something yeah I'll need to do as elliott says I'll need to do a group with rows to get like labelized so that's maybe a better way to do it so if we add a group block and then have two rows side by side and then move the ISP here we'll give it a label and we'll say ISBN with like a whatever um and then next to it that could work so let's let's save that so that that kind of works that kind of gets what I want to achieve so that that I kind of like um I would like to be able to have the ISBN like I have a default text like this is the books I'd be in from the metadata maybe that's not relevant I don't know I do love the fact that it just works um I just bind it to let's have a look at code again um I just bind it to the core post meta key ISBN arguments uh and and then it just works so that's pretty cool acquired like that um okay so that's that it looks like then so that's all you need you need the register meta set up the meta field there if you're using something like ACF this would probably work I guess uh I'm assuming I don't I don't use ACF myself but I'm assuming ACF just uses the standard meta fields underneath the hood so as long as you know what your key is stored in the database then you should be able to do this so that's kind of cool um so you would need to know what the default output is for the block and basically you're saying take the content from that field pop it into the block so yeah as as Elliot said I'm glad that this is where they're starting this is where we're moving to this is very very very cool the other thing that they offer as well is they talk about support for post meta just to start and the plan is to add more built-in sources site user taxonomy data um they're also talking about the fact that there will be a UI way of doing it um that'll be interesting like I wonder how that would work like would you maybe I don't know maybe when you let's go into that's not what I want maybe when you add the field you'll have a you'll have a setting um where you can like enable block bindings and then it'll pick up you would need to tell it like what what source so you need to give it the source and you'll need to give it the arguments um but that could be that could be quite fun and you can just set up your custom blocks uh you know use custom use existing blocks but say the data must come from somewhere else um that's very very cool the other thing they talk about or at least the other thing Artemio talks about who is the author of this post is the fact that you can register a custom source so it doesn't have to be a meta field uh you can define your own source connect it to a specific block um and then return anything in PHP um so this is kind of kind of interesting um once you've defined your custom source then you can say on the block so so let's do this why not um so i'm going to take this code here uh we're going to use the ispn setup that we just did and inside of my plugin right at the bottom here i'm going to pop this code in um so it's cooking into the net action uh we're going to call it bookstore let's call it bookstore something else uh so let's say bookstore register block bindings that's fine um and we'll give it a source name our bookstore uh bookstore let's say um store name why not it's the name of the store um the label is uh label is store name and the value callback is going to be bookstore store name binding so that's it's interesting that i say get value callback it's obviously it's getting the value so and it's a callback function so that does make sense so now we need to register that function um and now i can return my store name so this is something that i might have hard coded i might also have it in options field somewhere um that could be cool get it from the options tab and you can use it anyway but for now we're just going to call it john's bookstore we're going to need to escape that apostrophe so it's john's bookstore um and now i think i'm going to do that on i'm going to make a top paragraph above the the bookstore templates i'm going to use that so there's my block binding and then it's basically it's using this is interesting there so there he is using the paragraph so let's let's use that code um so let's pop into where was i here we go so let's pop into here what i'm going to do is i'm going to add i'm going to add it to the top of this group so say insert after now that's what i wanted but anyway it's fine and we'll just say store name for now um it probably will need to be in its own group actually okay let's see what we are it's going to need to be in its own how do you remove a block oh you can get it let me just delete it then we create a group for this and it's just going to be a simple layout and in here we'll add the paragraph there we go it's the paragraph and we'll say store name uh and we're going to make this nice and big and bold no make this nice and big and bold i'm going to give a bit of a background there we go we'll make the center aligned uh we'll make a massive text why not um and then we can start editing this so uh i probably shouldn't have done any of that because now i'm going to have to make sure they're made today to get sorted out okay um so there's our paragraph block um i'm going to have what i'm going to do is i'm going to take this jason object here and i'm going to format it in my code editor because otherwise i'm going to go crazy so let me just find a jason thingy um i think the next time i play with these kind of things i'm going to make sure i've got the theme locally just makes life so much easier um yeah so there's some jason that i'm going to keep and then i want to grab the metadata uh we can just pop it in yeah anyway let's just do that and that so this now needs to be bookstore store name and that should be it so i should be able to replace the current jason in that way what i'm going to do is i'm going to pop this into a new line it'll all save on one line anyway so i'm not too worried about that okay so we've got the paragraph still a line centered and all that okay that's still got store name so i'm going to see now what this looks like okay so that still has store name so let's save this and see what happens hey it's john's bookstore that's kind of cool um so i wonder i wonder if that means that i could have put something in here so let me just go in here quickly it's the isp in i feel like i could have put isp in here no that's interesting so it looks like if you're registering if you're registering those the block binding based on a meta key it's it displays the meta key in the block rendering in the editor whereas if you're registering a custom source it actually gives you the default value now i wonder if that's by design or i wonder if that's a buck because i feel like this is a buck i'll be honest this is how i wanted to do in the editor i wanted to say store name but then when it renders the content it goes and fetches the data and returns it that having been said that might be because the custom rendering happens on php side and this doesn't have access to that to the php code to fetch isp and value so that might be why it's not the end of the world but it is interesting but it's really cool that i can specify a custom source in my code which means if i want to manage it if i wanted to manage custom fields i could have something where i just say you know get option for example and what is it site name i think it is it's not site URL which which one is it agnesic can't for the life of me remember what the what the field is no that was the wrong local password aren't them so let's make a learn and options blog name that's right good old good old place so get option blog name and that would then give me whatever my site is called in this case i think it's wordpress yeah wordpress you could then do something like this you could say wordpress store whatever you want so that's kind of cool i quite like it does what it does what it says in the box i can use meta fields i can use custom things the custom things allows you access to so many more things so that is very very cool very very interesting i like the fact that i can use existing blocks um it also i wonder if you can do this with custom blocks like if you can add a block binding to a custom block that would be kind of cool but yeah that's a fun little little addition going to 6.5 so currently as mentioned it supports the image block the paragraph block the heading block and button block this is very much still a developer focused feature so if you're building themes and you want to use custom fields this is a great way to include that data from custom fields or any kind of custom data you've got those options this is very very exciting actually i have to be honest i love the fact the picture says how would you replace the sentence with data from somewhere else um okay so that all works as expected um yes indeed elliot elliot says very cool bridging the gap between classic and block theme development absolutely um that's cool so check that one out if you've got some time uh you're welcome to use my bookstore code that i shared with you to to play with that start seeing what you can what you can do with it what you can use it for i like the fact that it just works out of the box i don't know if i shared this thing i did the block binding to fji so i have shared that in the chat so do check that one out the other one that i thought was interesting but a little bit of time for so i want to see what that does and how it works is that there is a new thing called plug-in dependencies in wordpress 6.5 so this is another very developer focused feature let's pop that over there um and basically what this does is it adds a requires plug-in header to your plugins and you can then say what kind of plugins are required currently those plugins are only the plugins that exist in the wordpress.org repository dependent plugins hosted on .org can only declare dependencies that are also hosted on .org dependent plugins not hosted on wordpress.org can declare dependencies with a hosted on wordpress.org or elsewhere however the ui will not provide an installation link for the third party plugins so i'm not sure how that works with the third party ones but i'm keen to see what it looks like for a you know .org directory one so let's take for example let's go back into my i've got to close all of this down now let's leave that and we close that we close this close that and let's go disable my plugin we'll disable that over there and then i want to make this plugin dependent on WooCommerce which i know is in store must contain a comma or separate list of formatted slugs for dependencies such as my plugin or my plugin my plugin or just my plugin my plugin slash my plugin.php is not supported that's interesting so how does that work with third party plugins for an experience such as my plugin my plugin i'd love to see how this works with a third party plugin because how would you specify can declare the dependencies okay i'm not quite sure how that could work anyway let's go with a with a plugin hosted on wordpress.org for now so requires plugins and let's say we've got let's just that and then let's just say something else let's go with a oh why not a vaskas if you want to find it so there we go so let's see what happens with those two plugins in store so go back to the plugins list yeah so this plugin cannot be activated because required plugins are missing or active it shows the requires advanced custom fields and WooCommerce which then means that i theoretically should be able to install those plugins here if i click on it yes that works as expected i can install that plugin down activated hoping this brings me back to the plugins page it should do theoretically okay so oh just just because it's okay cool so now i go through commerce and i go install xvol to download okay that's installed activate that okay that's activated um it would be cool if this check that i guess it can't so if i now refresh i should now see that i'm able to install this plugin okay now we're we're commerce is going to do its thing that's the one downside of i requiring other plugins if they have onboarding then you have to go through all of that but i don't care um so that's something to think about okay so that's that so now if i go back to plugins then it should allow me to activate my bookstore plugin okay so i don't know if i could blame the the new feature for all of that that's just the nature of plugins they will sometimes have onboarding steps i feel like it would be cool if those plugins could detect that they were being installed via this process and then only trigger their onboarding some other way uh the problem is until 6.5 comes out they're probably not going to do that so something to note but hey it works it installed everything so i'm quite happy with it i do want to know you can install a third party plugin i don't see that in this i'm going to have to ask a question about that i don't see how we could do like a third party plugin that's not posted on the dot org repository as uh here so the other things to note is you can't do must use plugins as dependencies you can't have themes that require plugins this is specifically plugins that require other plugins we'll don't see how this works because before i can open yeah i still don't see how i can just pass in what happens if i pass in a slug of a plugin that doesn't exist let's find out um rubs let's see what it is and it's just lists pubs plug okay so you could you could list your plug in there and then do something eliot says a liquid to the block bindings to local to repeat the interactive api two minutes so what i can do for you eliot is i actually have i think you might have seen it i'm not sure but i've actually done a workshop on the interactivity api um i think it's uploaded to shush i think it's uploaded to the wordpress channel some way the search so they are developer hours around here it is here it is here it is here it is one month ago there we go so if you haven't seen this one i did do an interactivity api session about a month ago um okay you did see that perfect so that would be that would be my thing um if you want to see the interactivity api in in the wild i actually built a game uh using the interactivity api called dodge and basically the interactivity api powers the controls so when you click on the w and the game starts then the fact when you move with the keyboards that's interactivity so it's it's um detecting the the keyboard controls and then moving and triggering the movement um and then also the um the buttons so the fact you can press uh i'm gonna have to die me die quickly the fact that when you die uh don't care about entering my name um and you press r to reset the game that's interactivity api um so that's that's one thing that i've used it for um if you want to check that article but then also check out um the developer hours um so if you go to youtube.com wordpress um search i don't know if you guys can hear that but every time i go onto this page that video plays interactivity api um there's a there's a wordpress developer hours interactivity api that the try and did um so there's a briefing episode there so do check those out there's a building an interactive blocks one um so definitely go through those check those out okay right so that's what i'm going to end it today it has been a fun hour testing out those two new features um i'm going to run through the source of truth and the release dev nodes see what else we can do next week and then test out a few more features but i'm really excited for some of the developer focused features they're coming to wordpress 6.5 i'm looking forward to diving into them properly once they're released but do check out the source of truth do check out the dev nodes the links that i shared to get to the dev nodes it's a great way to keep up to date with with all the new features all right i'm going to call it a day i hope you all have a wonderful rest of your week and weekend and i'll see you in about two weeks time same time templates bye