[00:00:00] Nathan Wrigley: Welcome to the WP Builds podcast, bringing you the latest news from the worth rest community. Now welcome your hosts. David Walmsley, a nap Wrigley.
Hello there. And welcome once again to the WP Builds podcast, you have reached episode number 292 entitled Y WPCodeBox should be in your WordPress plugin lineup. It was published on Thursday, the 18th of August, 2022. My name's Nathan Wrigley. And just before we get to the podcast, a few bits of housekeeping, head over to our website, WP Builds.com.
You can find all of the episodes there and there's a page to subscribe. Believe it or not. It's WP Builds.com/subscribe. You'll be able to find our YouTube channel and Twitter feed. We are getting more and more. Into Twitter and learning the nuances of how it works. Finally, there's also links to other pages.
For example, our deals page WP Builds.com/deals. And that page is a bit like black Friday, but every single day of the week, significant amounts of coupon codes for significant price reductions on WordPress products. Speaking of Twitter as I just did. If you fancy trying something out, we've got a Masteron install, which is a Twitter clone.
It's a free open source piece of software called Mastadon and we've installed [email protected]. If you're fancy joining us there, it's fairly low in numbers at the moment, but you never know. You may be able to find an alternative to Twitter. There it's WP Builds.social, and yes, that is a URL. WP Builds.social.
The WP Builds podcast is brought to you today by GoDaddy Pro. GoDaddy Pro the home of manage WordPress hosting that includes free domain SSL and 24 7 support. Bundle that with The Hub by GoDaddy Pro to unlock more free benefits to manage multiple sites in one place, invoice clients and get 30% off new purchases, you can find out more by going to go dot me forward slash WP Builds. That's go.me/WPBuilds. And we do thank GoDaddy Pro for their support and for helping keep the WP Builds podcast going.
Okay. What have we got for you today? Oh my goodness. Me. What have we got for you today? This episode is going to possibly change your WordPress life. If you've not heard of WPCodeBox.
We've got Ovi on the podcast today and he's talking about it. Why he built it, what it does, and it does a lot. You can boil it down to this. It's. Plugin, which allows you to keep snippets on your WordPress website. Now it may be that you really aren't into coding, but perhaps there's something in here for everybody.
If you're into coding already, then you'll know the importance of snippets. It can reduce the amount of plugins that you use. It can reduce the bloat on a website. But this plugin does a whole lot more. It allows you to use other people's snippets from a library. It allows you to conditionally apply them.
So you could have, for example, a piece of CSS, which only appears on the homepage and doesn't get loaded and bloat out the rest of the site. And it's basically incredibly powerful. It's one of those plugins where your imagination is the limit. I've started using it and I'm completely in love with it and Ovie will hopefully explain what it is, how it works.
And you never know, you might be able to make use of it in your WordPress workflow. I hope that you enjoy it. I am joined on the podcast today by Ovie from WPCodeBox. Hello?
[00:04:02] Ovidiu Maghetiu: Hey, Nathan. And hello to all the listeners. Yeah,
[00:04:06] Nathan Wrigley: it's really nice to have you on just for reference Ovie. And I have been having a right old chat over the last couple of days, getting into all sorts of interesting subjects.
I feel like I've made a new friend O. yeah, middle. It was fun. It's really nice. But we're not here to talk about that. We're here to talk about Ovis what I can only describe as fabulous product. I'm gonna encourage you actually, any listener who is paying attention to this podcast? Listen to this URL.
It's WPCodeBox.com. So let me say that one more time. WPCodeBox.com. Just pause the podcast. Now go and look at that website, have a good fiddle around because what we're gonna get into will require a little bit of explanation. And if you give yourself the heads up, go and explore what it can do, and then come back and press play.
Then you'll probably be in better shape listening to this podcast. So off you go. You go and do that and we'll see you in a few minutes. Hopefully you did that and you're back. So Ovie, first of all, little bit of context. Would you just tell us a little bit about yourself, nothing to do with the plugin more about who you are, where you live, how you came to be involved in WordPress and so on.
[00:05:17] Ovidiu Maghetiu: Yeah, so I'm, I am Ovie. I am from Romania. I've been programming computers, I think since I was seven. Started with basic and yeah, since then I've had, I think all the jobs in this industry. And couple years back, I started working on some work pro WordPress projects. I fell in love with the project, the community, and yeah, since then, I'm a workplace developer, I
[00:05:49] Nathan Wrigley: think.
Is this what you do now? Completely full time. More or less? Yes.
[00:05:53] Ovidiu Maghetiu: Yes. Yes. I'm involved in a few plugins.
[00:05:56] Nathan Wrigley: Yeah. Okay. The one that we're gonna talk about today, specifically, and we're really only gonna talk about that is this WPCodeBox plugin, as I said, the URL was available to you. I'll put all the URLs.
If we stray across any in the show notes, first of all. Try to give us the elevator pitch for us. What is it, what does it do? Why did you build it? What is it trying to satisfy? I know that's a tall order given the breadth and scope of what it can do, but roughly what does it do?
[00:06:25] Ovidiu Maghetiu: Basically, it's a WordPress code snippet manager.
It used to add the code snippets to WordPress in a, in an organized and safe way. So how did I build it? Initially? I wanted to build an ID for WordPress in react, but. After a lot of thought, I saw that people actually love to use code snippets to make small customizations and not so much write a lot of code.
And yeah, that's how I built it. It's like an ID, but for managing code snippets in a world, press install. Yeah. And yeah after doing a bit of research, I saw that a lot of people have had a very scattered snippet library here and there. Good snippets. So that's how I had idea to build a cloud repository.
So you could save your snippets to the cloud, then use it on all your sites, so you can build your own library or snippets that, work and that's
[00:07:28] Nathan Wrigley: helpful. Yeah. Perfect. That's excellent. Thank you. For those of us who are using WordPress, but we're only interacting with the UI, we're using a page builder or something like that.
It may be that you've never really had to use any snippets. You've just built yourself a website and you've relied on the functionality that resides inside of your page, builder and so on and so forth. And if it was out. Of the bounds of that. You just ignored it. Or perhaps if you were a bit more curious, you went out and you started Googling.
How could I do this particular thing that I want to try? And you very well may have come across some sort of stack overflow type site where they list out a few little bits of code and you. You copy and paste that typically inside of your function, stock PHP file. And it, hopefully doesn't break things and it makes your site do something slightly differently.
And so is that the intended audience? So you after sort of people who are tinkering with WordPress or is it from tinker as right up to serious hardcore developers as well? So who's the intended audience?
[00:08:29] Ovidiu Maghetiu: I think if you work with WordPress sooner or later, you are going to need to add codes in snippets.
So yeah most of the. What most workplace users are gonna need this. And I tried to make a nicer way to do this. So for example, as you mentioned, function, that PHP you need to FTP into that make changes. Something might break, as you said. Yeah. That's why that's why I built it and the market, I think yeah.
Is everyone that's going to need to customize their work precise. At one
[00:09:08] Nathan Wrigley: point. Yeah. Yeah. So it's all about customization, right? First of all. Yeah. Bit of a hat tip to David Worsley as Ovie well knows is the is the cohost of this podcast. We'll be doing an episode with him next week.
Stay tuned for that. He put me onto this plugin of yours WPCodeBox. And I'm gonna be honest. Covy the first time I saw it, I thought. How would I even use that? I'm quite happy implementing my little snippets here, there, and everywhere. And then David kept pushing it and I eventually succumbeded and I looked at it and it was upon looking at it properly.
The light really did. Switch on and I thought, oh, okay. I totally get it now because in the beginning I thought I've got happily, got a system for storing my little snippets. I use them on my IDE and I store them there and that's fine. And then I just suddenly thought, but that's. That's liable to break.
They're not really organized very well. I can't put them directly into websites. I've got to find them locate them. Whereas your cloud solution allows you to do all of this inside a WordPress, but most interestingly, I think is that you've got this. Cloud component where all of the snippets that you've got, you can organize and save them up to the cloud and pull them down onto the website.
So just talk us through how the, how, the difference that you've got with local code and cloud based code, cuz that's a big part of the plugin. Isn't it?
[00:10:38] Ovidiu Maghetiu: Yeah. So WPCodeBox works locally, mostly like any other snippet manager, you can create code snippets, CSS, PHP, HTML, SCSS. And then. You can run them, execute them.
But once you found a snippet that for example, you think you're going to use on multiple sites, you can upload it to the cloud. So once you do that and you install WPCodeBox on a different site, you can just pull that snippet locally and execute it from there on the new site. My vision for WPCodeBox going forward is to not only manage your snippets from the plugin, but also have to have a web app online where you will be able to manage, organize your snippets.
That you use.
[00:11:32] Nathan Wrigley: Yeah. Perfect. Yeah. And I think that, I think the piece that I missed which we'll get into now was I just thought that it was a repository for snippets. And I didn't realize that there was a whole load of other stuff, which came along for the ride with the plugin, because not only can it store.
HCM L P CSS and SAS. And, you can download that locally, push it up to the cloud, you can organize it. And so on the bit that I'm finding most interesting is the ability to implement certain bits of code, certain snippets with some kind of conditional logic and in an era. Constantly worrying about the bloat of our websites, about having them as lean as possible and using scripts as, as infrequently as possible, and only having things load where it needs to load.
And when it needs to load that's something which is built directly into the plugin. So do you want to talk us through like the conditional workflow that you've got, the way that you can make sites leaner and faster by only applying things that need to be applied in certain places?
[00:12:39] Ovidiu Maghetiu: Yeah. So that was a really requested feature.
And I implemented it based on user feedback and yeah it seems users loved it. So using the condition builder, you can set, for example, snippets to only run on certain pages or only if the user. Has a certain role, for example make the snippets execute only between two define dates. So for example, if you want to add a holiday notice, you can just set it to run on specified dates.
Yeah. And it, from what I see, it gets a lot of views. I think,
[00:13:16] Nathan Wrigley: Really like it. Yeah. I think this is incredibly powerful and I think we should explore it a little bit more because there's great power in what you just said. So a good example. I was playing with it the other day and I just wanted on a particular post type, there was a little bit of awkward CSS that needed to be slightly different.
Just on the singles of this one particular post. We had no business being anywhere else. It would've been. Just another 10 lines of CSS bloating, my styles dot CSS file. So I went into the plugin, chose CSS as the language of choice wrote the CSS and then went through the conditional workflow, which I gotta say is super simple to use.
I basically said, asked where do you want this to go? And you get a set of options and you pick, in my case, it was, I want it to be on a single of this particular post time. We're off to the races. And then. Only gonna load just there, but the conditions are really deep and broad. So you mentioned there was things like dates and there's things like user rolls and.
Listeners just dwell on that for a minute. Get your head spinning around what possibilities you could have there with different pieces of PHP, different HTML being output, different CSS, being output. Like you said, holiday time. You might want snow falling at Christmas. Of course you do. And you can implement these with all the different conditions.
So just to really hammer this home over, go through what the conditions are all of them. If you don't.
[00:14:48] Ovidiu Maghetiu: Okay, so the conditions are location. For example, if you want to run a snippet everywhere on the admin or on the front end only the current post. So for example, if you want to run the snippet only on certain or a certain post or page, for example, only on the commerce checkout, the current post types.
So for example, if you want to run the snippet. Only pages or only posts the post parents. So if the current post has a certain parent only execute the snippet, then taxonomies. So just for certain taxonomies, you can use custom PHP conditions where you can use the PHP, conditional tags, and write your own conditions and combine them using.
PHP logical operation operators. We have paid URL. So we can say that if the page URL contains a certain string, execute a snippet or don't execute a snippet the current log in user, the current log in user role, the time and to run the snippet on certain days of the.
[00:15:53] Nathan Wrigley: It's just so many. It's fabulous.
[00:15:57] Ovidiu Maghetiu: And what I wanted to mention is that you can also combine these con conditions using logical operators. This is all done through the UI. So you can say condition one and condition two. And once you group this conditions, you can You can combine them using or between them. Yeah. So for example, when the page is this and the user is this, do this.
[00:16:25] Nathan Wrigley: Yeah. It really, truly incredible. My head is literally spinning with all the different kind of things that you could put in there. Does it work? Does it work universally and always because one of the, one of the great marketing slogans that all WordPress plugins is, it's compatible with everything.
Is that the case here? Are there any kind of little caveats that you've run across where it, I don't know. It hasn't worked as effectively or does it basically work always all the time, every.
[00:16:52] Ovidiu Maghetiu: You mean compatibility with
[00:16:54] Nathan Wrigley: that's, right? Yeah. If you run into any sheets. Yeah
[00:16:57] Ovidiu Maghetiu: issues.
That's perfect. Yeah, no issues. You can target, for example, builder frames or builder editors or remove code from there. It all works. Yeah.
[00:17:09] Nathan Wrigley: In terms of where you store them, let's just run through that one again. You've got, you've basically got two options. You can save it locally, but then you can throw it up to the cloud, which I'm presuming is run on your own hardware, your infrastructure somehow.
Yes. Yeah. Where are they all stored? Do you have them in a, like a, on an Amazon box or a data center? Some.
[00:17:32] Ovidiu Maghetiu: Yes. Yes. There's cloud infrastructure that stores the snippets it's backed up twice daily to 12 site locations. And. Yes. Yeah. You want more details
[00:17:49] Nathan Wrigley: about that? No, that's fine.
I was just curious to know, because just the idea that there could be some fairly, I don't know sensitive code in there or things that people are keen to keep to themselves or what have you. And I know that security is one of the big things. So we're straying two, two directions here. First of all, intellectual property.
And the idea that maybe some of the code may belong to you. You feel ownership is important, but also if you are running PHP and so on, then I guess security is a concern. And I know that on the homepage of your website you mentioned that as one of the key features. So let's just talk about that.
We've I think we've done the first piece. We know where it's stored and so on. That's fine. Talk about the architecture and the security model that you've got, because that could be important and it might be a cause of concern for some. Yes,
[00:18:40] Ovidiu Maghetiu: I agree. So when you build a plugin like this security must be is very important.
And it's the only thing that keeps me up at night, but what makes me sleep better is I like that I chose to build, so the plugin WPCodeBox is built like a single page applications. So you don't switch pages when you. Everything. Everything happens on a single page using Ajax calls. So what this allowed me to do is to only have two entry points into the plugin, into the backend PHP.
So the. This these two places are the only places that the request can come in and it's very easy to secure. So even if I make changes in the future, I time my hands to make sure that I cannot add anything that could compromise the security of the site. And I think it worked very well. Yeah,
[00:19:44] Nathan Wrigley: You're happy with the implementation there. Yeah. And
[00:19:47] Ovidiu Maghetiu: This allows me to do some interesting stuff, for example, to not run to not run code snippets in any of the WPCodeBox requests, for example. And even if you add a snippet that That could break your site and our safety system doesn't detect it.
It would still allow you to disable it or edit it as long as you don't refresh the page because it's already loaded. Huh. And it gives us, for example, it would be relatively trivial in the future to have WPCodeBox as a Chrome extension,
[00:20:22] Nathan Wrigley: for example, yeah. You mentioned that you were doing some checks in order to identify whether things were going to break what, how does that work?
What's going on there? Are you trying to figure out if in some cases, watch out don't click save here. There's a problem.
[00:20:40] Ovidiu Maghetiu: Yes. Yes. First the editor will notify you of any PHP errors that are yeah. Things like syntax, Andro, you miss the semi colon or stuff like that. So you can. You can fix that right then.
But if you save a bad snippet, it'll do its best to detect the error. And it'll disable only that snippet. And it'll show you in the UI report of the error so you can fix it, enable it and. You're good to
[00:21:11] Nathan Wrigley: go. Okay. Yeah. Thank you. Now, my IDE is full of dozens of folders. I've got labels for everything and over the years, things have become unmanageable.
Let's say I've just got dozens of folders with different types of snippets, for all sorts of things. And. That leads me to the question about taxonomy in terms of how can we organize things? Are we able to in the cloud and on the local website, are we able to create folders? Can we create folders within folders?
And so on, in other words how can we structure this? So it's not just one giant stream of snippets, which is gonna be awfully hard to keep a track of yes, you
[00:21:49] Ovidiu Maghetiu: can create folders just like in any ID. Organize your snippet, you can upload or download whole folders to the cloud right now, sub folders are not supported, but I do plan to add sub folders and tags.
These are on the roadmap.
[00:22:05] Nathan Wrigley: Okay. We'll talk about the roadmap a little bit later, but yeah, so folders within folders, if you like, and you can organize it in your own way to your heart.
[00:22:13] Ovidiu Maghetiu: Folders within folders is not possible.
[00:22:15] Nathan Wrigley: Oh, okay. So just a root folder and then another one next to it and another one next to it.
Yeah. Okay. Okay. Got it. Sorry. I misunderstood that. In terms of trying to make it easier for people to actually write their snippets, you've been trying to do that as well. So you've got also complete in all sorts of different areas. And obviously if you are very familiar with working with code, it may be that you've just got the muscle memory and you can do this stuff.
Looking up and it works fine, but for those people who might need a bit more of a helping hand, tell us about your auto complete that you've got at the moment. And then we'll get into some interesting stuff about what you're thinking you might do in the future.
[00:22:57] Ovidiu Maghetiu: Yes. So auto complete was there from the beginning.
I, I was involved. Like seven years ago in the development of something like an ID before. So I know how to work with code, but I've been programming for a lot of time and auto completely still useful for me even now. So it's not just for the beginners, but yes. WPCodeBox will auto complete PHP functions WordPress functions, but more interesting to it would auto complete WordPress.
Actions and filters. So for example, if you write, add action, it'll suggest, it'll show you out a complete list with all the WordPress and you can search through
[00:23:41] Nathan Wrigley: them. So it will auto complete, not just the typical things which you might find in a, in an IDE related to PHP, but it will also help you out on the WordPress side of things as well, which is really helpful.
[00:23:53] Ovidiu Maghetiu: Yes. Yes. And then another future I discussed with my users, but this is not re. Already implemented, but it was very liked. It's the, I want to implement a function and action and filter reference inside WPCodeBox. So for example, if you write an action to be able to see its arguments details, and maybe even have a link to take you to the codes, to see more details.
[00:24:20] Nathan Wrigley: Oh, I see. So reference material. So if a certain thing has been suggested, click on this link and here's how it ought to be implemented correctly. Yes. Sure. Helpful. Yeah. That's show
[00:24:31] Ovidiu Maghetiu: you parameters, return types, short description inside the editor.
[00:24:35] Nathan Wrigley: Yeah. Oh, that's lovely. Yeah. Okay. Let's move on to the next piece of this auto.
Puzzle because yesterday when we spoke, you mentioned that you've got what I consider to be a really interesting and grand plan. Autocomplete on steroids. Really? You are hoping at some point and caveat emptor, this is not done yet. This is just blue sky thinking. You are hoping at some point to take AI and bring it into this so that you can create code without necessarily knowing how to do it correctly.
You're just gonna you, you explain cuz it's fascinat.
[00:25:18] Ovidiu Maghetiu: Yes. So I, it's not just a plan. I actually have an MVP that I played with that but is not something I could share right now, but it's, it'll allow to write code WordPress codes, snippet specifically based on. Plain text. So for, let's say an example, I tried it's is write a PHP code snippet that will take the latest 12 random posts from Reddit and save them as posts.
And it perfectly generated the code for that.
[00:25:55] Nathan Wrigley: How on earth does that even work? Don't you're obviously not gonna be able to go into the detail. It's a podcast, but just give us the broad outline of how that kind of stuff even is.
[00:26:11] Ovidiu Maghetiu: Let me see what I can say. Yeah, basically you have a.
An AI model that you can, that you train using WordPress code snippets. The nice thing about this is that as as people are gonna start to use it it's only gonna get better.
[00:26:31] Nathan Wrigley: So it's one of those models where the more people use it, the more it will begin to understand. Okay. That works well.
We'll add that. That work well, but that didn't okay. Let's have a, and is that then gonna, is that then gonna feed back to you? If things don't work out, you'll be able to, I don't know, click a button saying no, that didn't function correctly and you'll get a notification and try to tidy things up for the AI.
I haven't gotten it. I haven't gotten into all the details right now. My, in my example that I made working was writing. Writing a comment. So for example, you could write a comment a bit like Git up co-pilot and you can say, write a coy. This does X and it'll under the comment it'll generate the code.
[00:27:15] Ovidiu Maghetiu: Yeah, this is amazing. But I think Also related to this. If I implement AI, it's gonna be really helpful for beginners to explain code, right? So for example, if you copy, as you said, a code snippet from stake overflow, you paste it and maybe you need to make a small change or something, and you're not sure how it works and how it does it.
You can explain that bit of goat and it'll say what happens on every line. Plain words. Absolutely. So it makes it easier to customize it. Yeah,
[00:27:46] Nathan Wrigley: Really interesting. We got into a chat yesterday about AI, cuz I think AI, it's fair to say. It's scary on the one hand and on the other hand, it's brilliant.
There are things about AI, which concerned me and equally there are things about AI, which I'm incredibly impressed by and this side of things just fascinates me. Just the idea. There'll be a model to help people write what is really difficult for some people to get their head around.
Writing PHP can be tricky if you're at the beginning, learning is a big cliff face. You've gotta, you've gotta really climb a long way up before you start to be effective. And so anything like this, which can help people along that journey and just give them insights into where things have gone wrong or where they could have improved things is just fascinating.
[00:28:36] Ovidiu Maghetiu: This will not only be for PHP. For example, I tried it with generating CSS, telling it stuff like generate the CSS for a button that's red and has a white border. And it does that. Also nice use case is for example, you have a snippet written in J it's. It's able to, for example, convert jQuery to vanilla JS.
If you want to teach J but yeah, I haven't tried it on extremely large pieces of code, but for simple examples, it worked really well. Ah,
[00:29:13] Nathan Wrigley: it's absolutely fascinating. The other piece about the plug-in, which I really wanna highlight is the library of snippets, which already exists because again, If you download WPCodeBox and you install it, you've got access to what, as I imagine a growing library of, and again, I'm going to assume verified snippets that have been checked by somebody to make sure that they do what they say they do.
But the point is inside of WPCodeBox, along for the ride comes a bunch of snippets, which. You didn't create for typical things and just talk us through that. What, where are you going with that? How much have you got like a contributor team that are helping you build that over time?
[00:29:57] Ovidiu Maghetiu: Yeah, actually I have an UI for that, but that's not yet made public.
And I want to implement a submission system and a rating system for the snippets on the repository so we can increase the quantity and the quality of those snippets. So I dunno, maybe in the future, we'll have something like tested by WPCodeBox for snippets that I, we personally tested ourselves or we.
And for the others, we'll have a rating system that if a snippet does something bad, it was user submitted. You can download it or report it or something like
[00:30:32] Nathan Wrigley: that. Yeah. And again it's organized into folders for want of a better word. Yeah. So different types of snippets for different types of scenarios.
And again, I can just see this being a useful place. Obviously you can go to Google. To find the snippet on stack overflow, but it feels if you've got this repository built in, that seems like a decent first place to go and start for typical things. Yes.
[00:30:58] Ovidiu Maghetiu: Yes. That's
[00:30:59] Nathan Wrigley: the idea. Yeah. Okay. Let's hope that grows over time.
And towards the end of the podcast, I always ask people what where can you be contacted? So scan forward to the end, if you wanna find out what Avi's details are, and maybe get involved in that project. There's also something which I found quite intriguing. Which was your live CSS updating?
Just I know it's a little thing. It's a simple thing, but it's really helpful to be able to see what's happening as it happens. Tell us about that. And just what does it bring to the table?
[00:31:34] Ovidiu Maghetiu: Yeah. So that allows you to write CSS and see the changes on the site in real time without the page refreshing.
So for example, if you're working on. On a page, you can have WPCodeBox open, have a CSS snippet turn on out load. And as you write CSS, your page will update with the changes a nice use case for this that came from the users. I didn't even think about it was that is that it actually works in page builders.
So for example, if you. I dunno, oxygen open, or even in Gutenberg, you can write CSS and see your elements updating inside the builder. Oh, so
[00:32:19] Nathan Wrigley: inside the UI of oxygen or beaver builder. Oh, that is, is interesting.
[00:32:24] Ovidiu Maghetiu: This is a use case I haven't even think thought about, but a few users tried it and yeah,
[00:32:31] Nathan Wrigley: because it's a bit of a, on the face of it, it seems that's a curious feature, but the amount of time that you'll save clicking, save, waiting for things to publish and go live and then go and check it in a different tab.
And so on, this is all happening in basically the same interface at the same time. And if memory serves, when I was playing it the other day, you've built in a, an inspector tool as well. Haven't you.
[00:32:53] Ovidiu Maghetiu: Yeah. And just to the last point you can also use SCSS that's not available in all builders or customizer.
Yes. So you can, this also works for
[00:33:04] Nathan Wrigley: SCSS. Yeah. Oh, just a lovely little feature, which enables you to just save basically a boatload of time. Imagine how many seconds you are wasting. And it all adds up over the week and yeah. Yeah. Lovely, lovely
[00:33:17] Ovidiu Maghetiu: feature. And the preview. Yeah. You were mentioning the preview and the do inspector.
You also can open. Mini web browser inside the WPCodeBox. And when you are working on CSS or ACSS, have a mini browser on the right to have the. The page open and you, there is a do inspector with which you can select elements and will it'll allow to compete to their selector in the CSS.
[00:33:45] Nathan Wrigley: Yeah. On the left.
Yes. I think that's what I was alluding to. That's the bit that I, yeah. Accidentally stumbled upon last night and thought, oh, that's curious. I must mention that. It. People who are listening to this podcast. Typically they're building websites for either themselves or other people. I think mostly it's people building websites for other people.
And so they're probably gonna wanna know, okay, this is great, but can I use this? Can I put this on a client website? Is there some sort of permission system so that. I don't know this certain clients have got access to different snippets or I can lock them out and so on and so forth. So give us a bit of an insight into how you are handling people using this on client websites.
[00:34:27] Ovidiu Maghetiu: Yeah, this was a feature that wasn't available when I first launched WPCodeBox a year and something ago, but it was very requested exactly this use case. So I built the API key manager because WPCodeBox uses an API key to communicate with the cloud. And right now you can create mul multiple API keys for your customers.
So for example, when you install WPCodeBox on a client site, you can. Create an API key. Give it a name, a description. Client is. API key. And from there, you can set the permissions for that API key. So you can set it to full permissions that will allow the client to upload codes to the cloud.
Download, modify them. You can set it to redly. So the. That client site will only be available to download snippets, or you can disable the AP API key at any time. And that will completely hide the cloud from that site. This is not yet available on a snippet or folder level. It's just for the whole cloud.
[00:35:31] Nathan Wrigley: Oh, okay. Cuz that, that was gonna be my following question. It, yeah. So I was wondering if it would be possible for client a to only be able to see client A's snippets, which might. A folder that I've set up inside of WP cloud box and, but client, but yeah, over, here's got a totally different set. Is it as granular as that?
Or have I misunderstood?
[00:35:51] Ovidiu Maghetiu: Yeah no. You can allow them access to the cloud door. Allow them read access to the cloud or none at all. Okay. But I do plan to add more granular access at some point.
[00:36:02] Nathan Wrigley: Speaking of planning, let's go into, let's go into the road map because there's some, there's a couple of things which I think are really extremely cool.
We'll leave the I think is the most exciting one until the end. But first couple of things that you've mentioned that are on the roadmap on the website are, you've got a Chrome extension and you've got a Chrome service. Just run us through. Why would we. Chrome extension what's what possible need have we got for that?
[00:36:27] Ovidiu Maghetiu: My first vision for the Chrome extension was to be able to go, for example, to stick overflow, see a nice snippet and be able to right click on it and click save to my cloud snippet. So to, to grow your library, but After user feedback and talking to users, I'm rethinking that I might make the whole WPCodeBox UI, a Chrome extension at some point.
[00:36:56] Nathan Wrigley: interesting. Okay. That's got me thinking. Okay. And Theron service. What's what are you planning to do with that?
[00:37:03] Ovidiu Maghetiu: I was thinking to create a service that will allow you to set some snippets to run at certain. Times. So for example, I dunno, run every day at 12 and then an external service.
Being a secret URL on your site and you'll execute that snippet.
[00:37:25] Nathan Wrigley: Oh, got it. I see. Oh, that's fascinating.
[00:37:29] Ovidiu Maghetiu: Yeah. Relating to this. What I'm planning to do sooner is to allow snippet right now you can manually run snippet. So for example, if you want to run. A snippet in the context of WordPress, but not every time.
The page loads, you have a run button at the top. If you say the snippet to run manually and you can run it time. But again, based on user feedback, I think I will add the ability to run snippets using secret URL with the secret token in key in it. And that will allow for easier integration with stuff like Z and external services like that.
[00:38:04] Nathan Wrigley: Got it. For example.
[00:38:06] Ovidiu Maghetiu: Yeah, run this snippet it, when I dunno something happens. I,
[00:38:10] Nathan Wrigley: yeah. Wow. The world really opens up as soon as you throws Zapier into the mix, it's just okay. Yes. More or less any condition on the website? Sorry on the internet could be used to make. Yeah.
Okay. Okay. I'll park that one for a moment and mull that when we finished recording, but the one that's got me excited, the one that I think is the most interesting is hopefully coming soon at some point is the ability to. Take all of the snippets take all of the bits and pieces that you've created and create a custom plugin.
Now on the face of it, I guess some people are gonna say why would I wanna do that? If I've got this, if I've got the WPCodeBox plugin and I've installed it and everything's working, why is this needed? And so cool.
[00:38:55] Ovidiu Maghetiu: So yeah, this brings some advantages. It'll save my plan is to save all the snippets inside the separate functionality plugin as plain PHP files.
So this will include conditions, error, checking, stuff like that. For example, when you're done with the site, you can disable or remove WPCodeBox and keep all the functionality. But yeah it'll add some performance improvements too, and it'll open up some interesting things we can do with snippets.
Like for example, override commerce templates. That's not possible right now.
[00:39:37] Nathan Wrigley: Yeah. Yeah. So the piece there that I think is very cool, firstly is the obvious performance improvement. If you're only. Loading the bits and pieces that you need. But also, I guess it, it goes back to the conversation we were having a minute ago about client websites.
If you. If you just export to the plugin, the bits and pieces that this particular website needs, then the client need never see WPCodeBox. It's just a, an additional plugin which is designed for your particular website to achieve certain functionality. And there it is, and you can build it all with all the nice tools that you've put into WPCodeBox and just export it.
And it's just there for you and your website. It's.
[00:40:20] Ovidiu Maghetiu: Exactly. And this could tie in with the Chrome station. So for example, when you, as the developer visit that site, you might still be able to access WPCodeBox if you have it in your Chrome browser. Yeah. But yeah, that's in the future. Yeah.
[00:40:36] Nathan Wrigley: So we gotta come to it. It's always talked about on podcast episodes. We usually leave it till the end at the moment. Caveat em, tour everybody. I don't know what Avi's gonna do with pricing, but we're in July, 2022. And this episode might take a few several weeks to come out. So the pricing may be different, but at the moment you've got a lifetime deal on, I'm always interested as to why people chose choose this model because on the one hand, Developers who never touch lifetime.
They just want, the stability of recurring revenue and an annual price. And so on. Is this a price that you intend to keep going or is this some sort of introductory price? Because the plugin, I don't know. It hasn't got years and years under its belt. What are you thinking around?
[00:41:23] Ovidiu Maghetiu: Yeah, I'm not Expert marketer, but I plan to switch to a subscription model at some point, but yeah, until now having a lifetime offer proved to be the right decision, because I've got so much feedback from the lifetime deal groups. I've made so many friends and yeah. Up until now. It's been a great decision going forward.
I probably switch to a subscription model at some
[00:41:53] Nathan Wrigley: point. Okay. If you are listening to this and you are lucky, then you may still be able to go and grab the pricing. I won't mention what the exact numbers are. All I can say is. It's not an expensive plugin. If you manage to get the lifetime deal, I think it's very competitively priced.
You, you mentioned the community and so on. And the fact that you've had lots of feedback, I'm guessing that you are still in that phase of development where you want feedback. You want people to contribute thoughts and ideas and help you, cuz it does sound like you've done a lot based upon the feedback that you've had.
Is that still the case that you're very much looking for people to become involved with you and talk to you and communicate what they think is missing and what they think the plugin needs.
[00:42:37] Ovidiu Maghetiu: Does that phase even end? Yeah, maybe. Maybe when that ends, the product is dead too. Of course, because I don't build as many sites, for example, as my customers do, and I make assumptions based on.
Thinking, but that might not always be the case. The best one. Yeah. A lot of assumptions, for example, that I've made when I build WPCodeBox, that changed based on user feedback. Yeah.
[00:43:07] Nathan Wrigley: It's interesting. Isn't it? Because you get the feeling that some products, because of the fact that they've been around for such a long time, they're they're coalesced into what they are, this is now what they've become.
And really, if you ask us to radically alter the feature set, it's very unlikely that we're gonna do that. We might add a little thing here and a little thing there. But it does sound like you've added some fairly sizable changes, like the condition builder, for example, which, really revolutionizes what you can do with it based upon user feedback.
So I think that's more what I was meaning that we're, you are still open for really seismic suggestions. Yeah, of
[00:43:45] Ovidiu Maghetiu: course. If I get good suggestions, I get excited and I will yeah. Add into the roadmap and take it from
[00:43:52] Nathan Wrigley: there. That is really nice. Yeah. It's lovely to, yeah.
[00:43:55] Ovidiu Maghetiu: It is because my my I'm not as I said, I'm not a marketer, but I think I read the lean startup a few times is my favorite book about this.
And I think. User feedback is the great greatest asset you can
[00:44:08] Nathan Wrigley: have. Yeah. Yeah. That's nice. Nice to hear. It's a, it really is. I was about to say it's a really fabulous product. I would strongly recommend that you go and check it out. WP. Code box AAP, WPCodeBox.com, no hyphens or anything like that.
Just WPCodeBox.com. I'll put links into the show notes. Ovie if people do wish to reach out to you, just because they're curious or they've got suggestions or they've got questions, what's the very best one or two places that they can do that.
[00:44:39] Ovidiu Maghetiu: They can check the WPCodeBox site. We have a contact section there.
I read all the emails. The road map is open. Everyone can submit ideas, feedback, anything they like. And we also have a Facebook group, WPCodeBox community. I post a lot there of updates and ask users about what they think about certain features. I show previews and yeah, I think these are the ways.
Okay. The best way they can contact me.
[00:45:11] Nathan Wrigley: I have, honestly, I've got very I'm pretty certain that this plugin is gonna take off with quite a lot of our U listeners. I certainly hope so. It's been an absolute pleasure chatting to you and an absolute pleasure playing with the tool over the last few days.
Really appreciate you coming on the podcast today. Thanks. Ovie
[00:45:29] Ovidiu Maghetiu: Yeah. Nathan, thank you so much for the invitation. It was
[00:45:34] Nathan Wrigley: awesome. Okay. I hope that you enjoyed that. Very nice to chat with Ovie about his new plugin WPCodeBox. Hopefully you've got a sense of the power of what it can do, and really your imagination is the limit here.
It's like an open box and you can fill it up with whatever you like, but with so many handy features like the cloud sync. The ability to use the library and the live loading of the CSS and various other things. I've started to make great use of this plugin. And I'm really bullish about it. I very much like it, check out the show notes for links to get to WPCodeBox and also to a David sly video, which will show you how the plugin works.
The WP Builds podcast is brought to you today by GoDaddy Pro. GoDaddy Pro the home of managed WordPress hosting that includes free domain SSL and 24 7 support. Bundle that with The Hub byGoDaddy Proo to unlock more free benefits to manage multiple sites in one place, invoice clients and get 30% off new purchases, you can find out more by going to go.me/WPBuilds. And we really do thank goad pro for their ongoing support of the WP Builds podcast.
Okay. As it was an interview this week, that means next week, it will be a chat with David Walmsley. And I will be talking through our WordPress business bootcamp, wherever we've got up to by now. I hope that you'll join us for that.
If not, perhaps we'll see you on Monday for the, this week in WordPress at live show, we do have 2:00 PM UK time over at WP Builds.com/live. But as I say, we'll be back next Thursday. The only thing that remains for me to do is to fade in some cheesy. And say, stay safe byebye for now.