Podcast Episode

234 – Become a Better WordPress Developer

Announcements

Is there a plugin for that?

With more than 50,000 plugins in the WordPress repository, it’s hard to find the perfect one. Each week, I will highlight an interesting plugin form the repository.

For more great plugins, download my 50 Most Useful Plugins eBook.

Hello Security is a plugin to give your users security best practices tips directly on the dashboard.

Become a Better WordPress Developer

1. Always Be Learning

  • Codex
  • Look at other people’s code (TwentyTwelve, etc)
  • Refactor some of your old code
  • Modify a plugin or theme to make it do what you want
  • Read blog posts and listen to other WordPress podcasts

2. Challenge yourself with difficult problems

  • Accept projects that you’ve never attempted before
  • Spend hours researching before asking for help

3. Don’t be afraid to break things

  • Work on a development site so you won’t worry about breaking a live site
  • Copy and paste code from the web and see how it works

4. Get Involved

  • Community Events – Learn from others
  • Community Events – Teach others what you know
  • Contribute to Core
  • Communicate with other WordPress enthusiasts on Slack

Thank You!

Thank you to the following people for using my affiliate links. As you know I make a small commission when someone uses my link and I want to say thank you to the following people. For all my recommended resources, go to my Resources Page

I’d highly recommend checking out <a href=”http://yourwebsiteengineer.com/desktopserver”>Desktop Server to install WordPress on your computer to run your site locally. It’s the best way to tinker with your site without worrying if your site is broken.

Call To Action

Sign up for next webinar

Full Transcript

Business Transcription is provided by GMR Transcription.

Hello everybody! Welcome back to another episode of Your Website Engineer podcast. My name is Dustin Hartzler, and I am excited to be here today of course, as always, like I am every single week.

Today we’re going to be talking about how to become a better WordPress developer. And this isn’t all about just developer-type stuff. This is actually just ways to become better at WordPress in general. Some of the things will be specific to developers, but most of the things that we’re going to cover today are going to talk about just the ways that we can make ourselves better informed, better WordPress people. Just able to understand and get involved in the community. So we’ll talk all about that in just a few moments.

The first thing I want to share is about the WordPress webinar. It is coming up next week. It is going to be on Thursday, June 4th at 10:00 Eastern. Now normally I do things on Friday, but that Friday which is June 5th I will be starting a little bit of a travel season in June and so I want to make sure that I got a webinar out. Otherwise by the time I get back into town, it’s going to be time for the July webinar, and I didn’t want to have them in back-to-back weeks. So it’s Thursday June 4th at 10:00 am Eastern. We’re going to talk all about how to customize your WordPress dashboard. And so we’re going to make it easier for our clients, we’re going to make it easier for ourselves to just navigate and get through the WordPress dashboard.

My good friend Kyle Mower is going to be on and he’s going to be walking us through a bunch of really cool things, and so this is one of the first times that I’ve done a co-webinar where somebody else is doing a lot of the presenting. And so it should be a lot of fun. If you can’t make it, you can go ahead and register and then we’ll send you the details and you’ll get a reply just a few hours after it goes live, or after we’re done finishing up the recording. If you’re interested, head on over to YourWebsiteEngineer.com/webinar and you can get all signed up and ready to go from there.

Another thing that’s in the news that’s not WordPress related that I wanted to make sure that I share is that they’ve renamed Google Webmaster Tools. And it’s now called Google Search Console. And so basically it’s the same thing for the most part. I think they’ve added a few new things, but most of the fact is that it’s just rebranding. It’s now called Google Search Console. I’m sure that we’ll still say Webmaster Tools for next few years. But if you see that or if you see that documentation or terminology somewhere, Google Search Console, just know and understand that that is the old Webmaster Tools. And you can get there very easily by going to g.co/searchconsole. And I’ll have a link to the show notes for Episode No. 234.

Also, last in the news, and I didn’t have a lot of time to discuss too much of it, and I’m not going to go into a lot of detail here either, but last week about this time when I was recording it was mentioned that Automatic had purchased WooThemes, or specifically WooCommerce. And essentially it was the entire company; it was WooThemes. The entire company of 55 people are now colleagues of mine at Automatic and eventually the themes will get rolled into WordPress.com themes, and then the e-commerce stuff is just going to continue to be e-commerce.

All of the support and everything is going to be continued for all of Woo’s products, and then eventually it will all get all rolled up into one of the products that’s offered by Automatic and whatnot. So I believe it was estimated, it was like a $30,000,000 buy. Have no idea what the actual cost was in that, but WooCommerce does generate quite a bit of income. That is going to be a nice bonus for Automatic as more income for the company.

So there’s just a little bit. There’s plenty of news articles that are out there about it. It kind of hit the WordPress community in shock last week because it was something kind of out of left field. Nobody was really prepared for it or thought that it would even be possible, or even knew that Automatic was even thinking about purchasing Woo Commerce and WooThemes. And so that was kind of big news last week.

It’s really exciting to have new teammates and there’s going to be a lot of new people and a lot of people for me to get to know and understand. And now I think the company is now up to 370 people. If you are interested in joining either WooCommerce, Woo Themes, or Automatic they are all one company now. You can head on over to Automatic.com/work-with-us. That’s the URL. Or just go to Automatic.com and then click on the “Work with Us” page. And we’d love to have people; we’re always looking for more happiness engineers for JavaScript wranglers, for people who can design themes. And so if you want to turn your WordPress hobby into a full-time career, I highly recommend that. If you have any questions about signing up or sending in your resume or anything, send me an email, dustin@yourwebsiteengineer.com and I’d be happy to provide any information that you need before you submit a resume and a cover letter over to Automatic.

Alright, moving on to the “is there a plugins for that?” section. This is a fairly new plugin. It’s one that doesn’t have a lot of downloads, but it’s really kind of a neat one, and it is called Hello Security. And this can give your users best security practice tips in the dashboard. And so this basically a fork of Hello Dolly which is the plugin that gets installed with every WordPress installation. But this one is called Hello Security and it basically gives the tips, and different tips that will appear in the upper right hand corner for people that are logged into our site.

So that would be really good, and you could probably set it for different levels, whether they’re author, contributor or the people that are owning the sites for them to say, “Oh well, I need to do this. And I need to do this.” And give them actual advice to make sure that their WordPress site is secure. So it’s a cool plugin; you can find it in the plugins directory by searching for Hello Security or you can go to the show notes and get that link right there.

Today I wanted to share the four big tips that I wanted to cover on how to become a better WordPress developer. And these are in no real apparent order. They’re just as they came to my brain as I was sitting down and researching, or actually standing and researching for this episode. But today, the first one that I want to talk about is “always be learning.”

So one of the best things to do when you’re trying to become better at something is you have to learn. You have to have an open mind and you have to be ready and willing to, “Okay, I am going to learn this; this is going to be one of my focuses for one of the next few months or few years or whatever it takes.” And so always be learning.

The very first place you want to be learning is in the WordPress codex. And you may think, “Dustin, I don’t know anything about the WordPress codex.” And I was there at that point as well. And the WordPress codex is not an easy thing to understand and wrap your head around and figure out exactly how it works. It is a very consuming document that has hundreds and hundreds of different things in there, and it is hard to know and hard to understand how it works. And there is so much that’s out there. And you can find the codex over at codex.wordpress.org and if you go to that page it’ll redirect you to the main page. And it has a lot of stuff right there, working with themes, writing a plugin, contributing to core. It has quick links there for where to start with WordPress, WordPress lessons, upgrading to WordPress, WordPress.tv. So there’s all these tutorials and stuff on there, but the big ones are learning about how different functions work.

And this is the one that for the longest time, I had no idea how it even worked or all of these different things. So I’m going to go and look at one real quick and so we can talk through just a few things in here. When you look at a function, and the function that we’re going to look at is called “Add Action.” And so when you look at the codex its basically – it shows the function and it shows all the variables that can be passed through it. And for a while I had no idea what these meant and how it worked and you have to kind of go through and it shows what the parameters are and what type of parameters they are. Are they a string? Are the Boolean? Are they integer? Things like that. And you just really have to go in and you have to look at a function by function basis, learn how it works, and then try to put it into action.

And it’s way easier to say this than actually to do it, but honestly I would say that I was probably within WordPress and working with WordPress for a couple of years before I even really figured out, “Okay, this is how the codex works and this is how I need to go in and actually learn how these functions work.” A lot of the times, I was just looking at other people’s code and then copying and pasting and tweaking it where I thought it would fit.

But that’s actually the second thing under “always be learning” is look at other people’s code. One of the best things that you can do if you want to develop themes, go and look for the 2012, 2013, 2014, you know, one of the core themes. Go and look how they’re coded. Look at the different styles and how the things are working. I loved being able to go into plugins and modifying plugins or a theme and just kind of making it do exactly what I wanted it to. That was a challenge as well because sometimes you can look at code and you can say, “Oh, this is – okay, I think I know what this is doing based on you know what it does, you know the output, and if you can look at the code then you can kind of figure out and kind of work backwards.”

There’s a lot of times when you just wanted to change visual text on the front side of your website; that’s pretty easy to go in and change and modify in a theme or a plugin or something like that. But how the code actually pulls it from different places, that’s when it gets a little bit confusing and can, you know, you just have to learn about how all the pieces work together.

So I highly recommend modifying a plugin. Do it for the learning purposes, not for necessarily live purposes. I would never recommend going and just compromising the integrity of the plugin by going in and modifying a gravity forms plugin to make it do exactly what you wanted it to. Because the next time it updates, it’s going to lose all your changes. But if you want to look into a plugin that’s on the repository; you wanted to do something that’s a little bit different, then build that plugin and tweak it to make it work how you want it to work.

I know the first time I did custom post types. I saw the custom post type and then I copied all that code for a new custom post type and then I made the visual changes that I needed. The visual changes are super, super easy. But it was when I needed to add a new form field. I’m trying to think of another example where maybe I was doing something and I needed, instead of having two fields, I needed a third field. So then you’d add that third field, and then you’d try to see if it worked. And then all of a sudden it didn’t save that record. So then you’re like, “Okay, I need to do something else.” And then, “Okay…” You just kind of find where all that code is and then you duplicate it. And then, “Okay, now I kind of understand how this works and how I can add new form fields,” or whatever it is to your site. So always be learning and tinkering and playing.

Another thing you can do to always be learning is refactoring your code. Refactoring is a fancy word for “Make your code smaller and more efficient” and basically that’s what refactoring is. You take code and the coolest thing about writing code is that you can write it and it can be 100 lines long and then you can write it in a different way that it can make it 75 lines long and it does the exact same thing but its more efficient because it takes less lines and less code. And so refactoring some of your old code is a great way to continue to learn and make it better.

I’m fairly certain that there’s always a way to make something even smaller and smaller. I don't know if a one-line function could get any smaller than that, but there’s always times where you can say, “Okay, I’ve written this plugin and I’ve used this piece of the code twice, but I’ve actually just copied and pasted it from one function to another. How can I build that in so that it’s just one function and how can I call it twice?” That would be a great example of using less code. So now inside of your two functions now you’re using that one piece of code over and over again. So now you don’t have to duplicate all your efforts when you make one upgrade. You know you don’t have to do that and copy that to other things.

So always be learning; there’s always things to be learning out on the WordPress space. Listen to podcasts, read blog posts, there’s always things you can learn about when it comes to learning about WordPress. And of course, if you are just a WordPress enthusiast that just loves using the dashboard, continue to dive in and learn things within the dashboard as well. There’s always more that you can be learning. You can learn about plugins and settings and all kinds of things, just from the WordPress dashboard.

Point two that I wanted to make when it comes to becoming a better WordPress developer is challenge yourself with difficult problems. I don’t think there was ever a time when I was developing websites for people that I said, “No, that can’t be done.” I’m fairly certain that anything that any client that ever came to me said, you know, I could always come up with at least one way in my mind before I could do it. Like, “Okay, I think there’s this plugin for that, and I can do that. Yes, that should be no problem.”

Well, a lot of times they were very complex issues and it did take some time and work through and figure out, “Okay, how do these plugins work together? And can I use this payment processor with this reoccurring payment solution with this thing and that thing?” And you know, there were so many opportunities that it just made it a challenge to get all the pieces moving together and working exactly the way the client said. And then maybe you get all the pieces working together and then they’re like, “Oh, I’d really like it to do this.” And now it’s another challenge that makes it even more difficult, which I just love those types of challenges.

So that’s one of the things: accept projects that you have never attempted before to learn more about different plugins work and then maybe you’ll learn that maybe you’ll find a plugin or solution that works really well for this website that maybe could make another website that much more efficient and better. And so you’re always learning about those types of things.

Another thing is that I would recommend is just spend hours researching before asking for help. You know, you don’t want to spend 14 days trying to figure out the solution when you know somebody else may have an answer. But I would highly recommend spending some hours searching. And you know, maybe you’ve come up with an error code, so you Google the error code. Okay now I’ve got the information on the error code. Now let’s see, I’ve Googled what the error code means, now I’m looking at these forum threads and the forum says, “Try this.” Or maybe this plugin is conflicting in some way, shape, or form. Or whatever it is. Slowly go through the process of taking yourself like, “Okay, I have no idea what to do,” and then “Okay, what should I Google?” Or if there’s an error code, following that trail until you can slowly get somewhere.

And just even learning those pieces of things in my mind, the last time I did that I had to Google this and then it kind of triggers the memory of “Okay, it was four steps,” and then I remember “Okay, this is exactly how it was.” So spend some hours taking some time to research. If it is a problem that’s with a specific plugin or a specific theme or something like that, feel free to reach out to the developer. Maybe you do that first. “Hey, this is the issue.” And you reach out to them and then you spend the time troubleshooting instead of just sitting there waiting for a response. Sometimes support can take from a few minutes to hours to days to even get back with you and you don’t want to be just wasting time twiddling your thumbs.

Of course now this is kind of a subjective thing to do when you are charging clients per hour for work. You don’t really necessarily want to say, “Well, I spent 14 hours of researching and I don’t have any results. I can’t show you anything because of what I was doing.” Depending on how you’ve structured your invoicing and your client’s how they’re going to pay you and whatnot, you want to just make sure you’re not spending an excessive amount of time doing research when in reality somebody can help you and give you the answer real, real quick. But you know you’re going to become a better developer by spending the time and the energy and the effort researching the issue and trying to figure it out yourself.

The third way to become a better WordPress developer is to don’t be afraid to break things. So that’s one of the big things, that’s one of the things that I’ve learned a lot and I’ve broken a lot of things. My first recommendation is try to work on a development site so that you don’t break things on a live website. Breaking things on a live website is a really bad thing and it can cause you a lot of stress and a lot of nightmares that’s not really necessary. But if you set up a development site either on your own server, run desktop server or something like that, and you do that, then you don’t have to worry about breaking that live site and then you can revert changes you can get back really, really quickly.

I also like in this section “Don’t be afraid to break things” copy and paste code from the web, see how it works. Try to copy and paste code; get the bare minimum code from a website. A lot of times it says, “Copy and paste this code into a functions.php file” or whatever it is and you take all of this code, you take a lot of it, and you paste 17 lines into your functions.php but when in reality only three or four lines is necessary to do what you needed to. You know, you wanted to make sure that you’re copying and pasting only the small amounts. And so then what I would do is recommend, “Okay, let’s remove some of this stuff. It doesn’t look like it fits.” And then of course you may break something, you may have dropped off an FL statement or whatever it is and it could cause something to break. And do don’t be afraid to break things. That’s a huge recommendation.

And the last way to become a better WordPress developer is to get involved with things. I recommend getting involved with community events, whether it is local meet-ups or you fly across the country to go to a meet-up or a WordPress event, learn from other people. You know, there’s going to be people there that are smarter than you no matter what level you’re at, and there’s going to be people that don’t know nearly as much as you no matter what level of WordPress skill level that you have. And so teach other people what you know as well. That’s another big thing. So you can go to a WordPress event, you can be brand new, you could be using WordPress for one day and you can go and you can learn a lot from people from a WordPress event and you can teach other people who haven’t even started WordPress at these types of events.

So I recommend that. Another way to get involved is you can contribute to Core. That’s one of the best ways that you can do that. And of course to contribute to Core you have to understand how Core works so you have to know the frame of mind of how people fix things. You can find bugs that other people have reported and then fix them. You can update documentation. You can help out with WordPress.tv. There’s so many different ways to get involved with WordPress, but all of these ways will help you understand more and more about the community of WordPress and how WordPress works as a whole. So I recommend that.

And then the last thing is I would highly recommend signing up for the WordPress Slack channel and the Slack user group. And this is a great way to go in and learn about what’s going on in the WordPress space. Slack is kind of like Skype but its all tech-based communication and there’s a WordPress Core channel and WordPress Core has a bunch of different channels. Let me open up Slack here real quick and I’ll tell you some of the things that are in there.

But basically how it works is you can go in and create a username and password and the details are on the WordPress.org website. And then you can go in and you can talk to other WordPress enthusiasts within Slack itself. So it’s like you have direct line communication to other people within Slack. You can go into some of the different rooms and the different groups that are there. So they have different channels and of course that’s making noise when I’m in Slack, but there’s an announcements channel so you can see what’s going on. There’s Core channel if you want to learn about that. There’s a training channel so you can learn all about what’s happening in the training. So like people are working about documentation, things like that.

There are 46 different channels inside of the WordPress Slack channel. So you can be in the channels for accessibility or BB press. Or let’s see what else is in here. There’s buddy press, there’s WordPress command line interface. There are customizer, the editor, there are multi-site, there are passwords, there’s the press this, there’s themes, there’s design. There’s so many different ways, you know, you find something that you’re interested in and then – theme review, test, WordPress.tv. All of these channels you can get involved with and you can really take some time to learn and meet other people in the WordPress space and then they can help you out in a tremendous way, learning more about WordPress.

And so those are the four things to become a better WordPress developer: always be learning about WordPress, even always be learning about other code that could be similar. Maybe you want to dive in and learn some JavaScript or you want to learn some Node JS or whatever it is, always be learning. That’s going to continue to make you a better WordPress developer. Challenge yourself with difficult problems, things you’ve never tackled before, try to tackle those. Don’t be afraid to break things and get involved, whether that be in the community events, online with Slack, contribute to Core, build a plugin. Build a plugin, release it to the WordPress directory or even a WordPress theme and release it to the directory.

All of those things are going to help you learn so much about WordPress and just continue to get you more excited about WordPress as well. I know that every time I work on my own plugin or work on something for the community, I get so excited and passionate. Oh, I need to do more of this! And then I realize that, “Hey Dustin, you have a full-time job, you have a podcast, you have a 14 month old daughter, and you’re busy enough. You can’t get involved any more than you already are.”

So those are the few things that I wanted to share today. I wanted to just say a thank you to those people who are using my affiliate link for Desktop Server. That is one of my highly recommended resources and that is because of the fact that you can build a website locally on your computer and from there once you have it running locally on your computer, then you can make all the changes, you can break things and it’s not going to hurt your live site. You can go take a break for dinner, you can take a break to go to bed and you don’t have to worry about your website being down. So if you’re interested in checking that out, head on over to YourWebsiteEngineer.com/desktop server, and there will be a link in the show notes for that.

And so with that, let’s find the wrap up music and get out of here for this week.

Alright, well that’s going to wrap this thing up. Thanks so much for tuning in this week. And remember, you don’t necessarily have to be a better WordPress developer, even be interested in developing, there’s always things that we can do to become better informed about WordPress itself, whether it be the dashboard or working with plugin or different things like that.

So that’s what I want to share with you this week. Thanks for tuning in and don’t forget to sign up for the webinar at YourWebsiteEngineer.com/webinar. That will be on June 4th at 10:00 am Eastern. And we’ll talk to you again soon. Bye, bye.

Leave a Reply