What I want to convey to you with this article are the important points where you should start. These points I have been discovering little by little and, of course, they have not been the only ones that I have dealt with, but thanks to the experience I can tell you that they are quite important and advise you to start here. Reading this article you will save the time of trying and discarding, I bring you the most important points in which you should start to learn to develop with WordPress.
I also do a WordPress podcast where I talk about all this weekly, there you can learn everything you need to know to start using WordPress from any basics.
If at the end of reading this article you have any questions or want to share your opinion on any of the points, I invite you to do so in the comments, I will be happy to receive your opinion or point of view as to what we must learn to be a developer with WordPress.
WordPress is a tool that, luckily, we can all use. From the less technical end, anyone who just wants to manage their personal website made with WordPress
or their online store created thanks to WooCommerce can do so and, taking a leap to the more technical end, WordPress is also a web project development framework made in PHP so, with the right knowledge, we can do anything we want, any type of website or any type of project, even integrating mobile apps or other systems.
That is why I say that we can draw, broadly speaking, three types of profiles.
This type of user would be the least technical profile and does not have to know anything about developing with WordPress, they wave simply installed a new tool and need to learn how to use it, just as it could be a new cash register or a new management system for your company.
If what you want is to learn to develop with WordPress, this profile would be one of your potential clients, they do not know how the tool works inside but they do need to know the functionality and that this functionality solves a problem.
What is the main reason for putting up an online store? Sell to more people, not just the people who walk past my storefront. Perfect, we will solve it and teach you how to use the new tool.
This profile would be the intermediate one, if we are strict, you do not have to know anything about the WordPress code, but it will come in handy to have some basic notions that, without a doubt, sooner or later will help you because, just like an interior designer ends up staining their hands with paint, a WordPress implementer ends up having to fiddle with some code.
This profile is characterized by knowing very well the relationship between functionalities that a project needs and the best plugin to implement that functionality.
This seems simple, but it is not. We all know the problems that filling our WordPress with many plugins can bring … incompatibilities, loading problems, mammoth plugins that we install to only use 20% of everything it offers. Anyway, this would give for another complete article: How to choose plugins in WordPress?.
This is precisely what I like to do, interact with people who are good at their work but do not dominate the Internet, I help them manage their website and everything about the Internet so that they do not have to worry about anything, I take care of being between the two worlds.
The bottom line is that, if you don’t need a fully customized functionality, you can contact a good WordPress implementer, who is capable of analyzing your project and installing and configuring the best combination of plugins so that everything works like clockwork.
And if what you want is to be an implementer, remember that you will not need to learn the same as a WordPress developer, but you should have some basic notions, especially to gain independence and not need help simply to change the background color of the Web. I use a very basic example, I hope you understand where I am going.
As I mentioned at the beginning in WordPress from Zero, together with several collaborators, we talked about everything you must learn to develop in WordPress and make good implementations.
This would be the most technical profile of all and it is, without a doubt, the one that has the most power over a website made with WordPress Development Service in Lahore. In this case, I want to differentiate power and permission. An administrator user has permission to perform certain actions, if he is the user who has the most permissions, it is true, but he is not the person who has the most power. By power I mean the ability to make changes, add features or remove them, this power is held by the developer.
I’m going to give you an example that I think will help me explain this: A WordPress administrator can enter and manage comments, they can approve, reject them, mark them as spam, etc. but that is so because a developer has created a functionality, let’s summarize it in “a button”, that allows you to press it and perform one of these actions. But, in reality, the one who is doing it is him. The only thing that gives you permission to send the order is that really has the power to prevent a comment from coming to light is the code below that “button”.
If what you want is to have the freedom to be able to do whatever you want with a website made in WordPress, we have to talk about code and we have to talk about some common languages in web environments and some specific WordPress concepts.
I invite you to continue reading to know what I must learn to be a WordPress developer.
There are many reasons that we could list, and all of them are very good, for which I can recommend that you learn to develop with WordPress and, if you want, I would love to discuss this with you in the comments, but in this case, I want to talk to you about two of them.
It’s a fact, WordPress is taking up more and more sites on the Internet every time, so something good must-have.
In addition, learning to develop in WordPress is not limited only to creating online stores, or corporate web pages, there is a whole world of plugins, themes, support, training, etc. Precisely I am dedicated to this last point, I do specialized training in WordPress both for entrepreneurs who want to build and maintain their website and for SMEs or companies that need to train their employees to achieve the best results taking advantage of this tool.
Yes, more and more of us want to have our place on the Internet and WordPress occupies more and more space on the Internet. Therefore, more and more developers are needed.
We deduce then that it is a great idea to learn to develop with WordPress and to be able to say “not only am I trained to develop a website, but I can do it with WordPress, which is the most used tool on the market and I also know and have the technical skills to do it right ”.
Perhaps this last sentence in quotation marks was a bit long but it is true. I have been working with web environments for a long time and it is incredible how many times I have come across tremendous botches, so it is important not only to know how to do something but to know how to do it well. And, of course, this specialization is reflected in the remuneration, so we could get another reason from here: to charge more. But hey, we’ll leave it here hidden so that only you and I will know 😉
This is a question with many answers because, in the end, it depends on what you need at the moment. By this, I mean that, if you want to specialize in online stores, you should start at the base, always at the base, and then become an expert in WordPress and WooCommerce development.
WooCommerce is the most used plugin to create stores, but not the only one, the choice of plugins depends on many points. As I mentioned before, this gives another complete article on how to choose plugins for WordPress.
But hey let’s get to the important thing: you have to start at the base.
Knowing the technology underneath, then knowing how WordPress works internally and how the content is structured, how to use the WordPress API … and everything takes its time.
If you want me to tell you some steps to follow to learn to develop with WordPress they would be:
- HTML5: This is the structure of any website, therefore important.
- CSS3: color, style, size, ultimately visual appearance. All the webs of the world have a structure in HTML and CSS that gives the design.
- PHP: it is the language that WordPress CORE uses, it is not the only one, but it is undoubtedly the one that you will use the most, we can talk about more than 95% of the changes will be in PHP.
- Modify Themes: just install a fully developed WordPress theme and start making changes like:
- Move site menu.
- Add a new Area Widget.
- Change Plugins: Make small changes to the logic of a plugin that someone else has created.
- You can familiarize yourself with the WordPress loading order.
- Or also with the use of hooks, which will allow you to insert code wherever you want.
Of course, it is the last point.
It is much easier to start by learning the theory and applying it to other code that already works. A clear example would be to start by changing the color of the walls and moving furniture and not the walls or foundations, the margin of error is undoubtedly much smaller.
It is about having evolution and not trying to go directly to create your own code because the number of possible errors that you are going to have when doing it can get frustrating.
When you are able to make your own plugins and themes, when you are able to create any functionality you will see that with WordPress you have no limits, because it is more than a CMS. Currently, WordPress is a development framework in PHP.
You will also feel the freedom of not depending on plugins to achieve the result you are looking for, although if there is a plugin that already does it, why are you going to reinvent the wheel again?
Great, we are clear about it, we already know that we want to end up creating our own Themes and our own Plugins but what I recommend you to develop with WordPress is to start modifying code that already exists.
We are going to divide it into plugins and themes, although I anticipate that you can also modify the WordPress core.
In order not to extend ourselves too much and start from less to more, I am not going to talk about this topic in this article but, of course, I invite you to tell me if it is something you would like us to talk about.
The first thing we are going to have to do is have a clear premise, which we should all comply with in order to follow a series of good practices: in the Themes, we should only put code referring to the visual aspect of the website, and in the Plugins, we should put the referring code to the different functionalities. This means that, if tomorrow we decide to change the style of the web and install a different WordPress Theme, we can do it without fear of losing any functionality.
This is what is called the lock-in effect, and it is vitally important to be clear about this before we start to play code.
To start changing the code of a Theme we must be clear about two things:
- Never change code on the original files of the theme, for that you must create a “Child-theme” or child theme where you can make all your changes without fear that an update of that Theme will overwrite what you have done. It seems simple, but they are things that happen and then we throw our hands to our heads.
- The functions.php file can be misleading. Yes, it is called “functions” but we return to the notice I gave you earlier, do not include website functions within Theme, that’s what plugins are for.
Therefore, to start making changes to an existing Theme we must use a child theme and not add functionality in the functions.php file. Now all you have to do is open the PHP files and make changes.
At the risk of sounding heavy, I am going to repeat a very important premise when modifying code and developing with WordPress. I do it because it is possible that you have fallen into this paragraph directly and have not read the previous one, so for the sake of your development I prefer to repeat it.
In WordPress, there is the lock-in effect, and this, very briefly, means that if you don’t write the code in the right place, you can create a dependency. For example, if in a Theme you put code for a functionality of your website, you will always depend on this theme and you will not be able to change it for another simply by changing the theme, but you will have to do it taking the code that you have entered, with all the problems that this can lead to, especially if you are not the one in charge of this change.
Therefore, in the Themes, you should only put code referring to the visual aspect of your website, and in the Plugins is where all this added functionality should be.
And now yes, we are going to change the code of some WordPress plugins to learn some concepts. The first thing you should know is that, unlike Themes, Plugins do not have a child where you can make changes without overwriting the code when there are updates. Therefore, if you want to make changes to a plugin that lasts over time, you will have to make “a copy” or, in other words, create a new plugin from the code of another.
On the contrary, if the plugin you want to modify or extend implements hooks or hooks in Spanish, you can do it without the previous problem, everything will depend on the creator of the plugin.
A hook is a reserved space in the code where you can later put code without having to change the original. I give you an example:
Imagine that a plugin performs this recurrence:
- Action number one.
- Hook number one.
- Action number two.
This allows you to put one or more actions in the “Hook number one” point. Therefore, without touching the original code, and adding your own code, you could get this result:
- Action number one.
- Action or actions that you want to perform here.
- Action number two.
Therefore, remember that to insert change the code of a plugin, we can do it by completely copying this code and creating a new plugin or, if the plugin implements hooks, we can insert actions in it without having to touch the original code.
Ok, now is the time to create your own WordPress plugin. As you can see, if you have already modified any of the code, all the plugins are located in the “plugins” folder within the “wp-content” directory.
Well, creating a plugin in WordPress is as simple as creating a new .php file inside the “plugins” folder, if you prefer you can create a directory in turn and put all the files you finally need for proper execution inside. of your plugin, but it’s as simple as that.
Finally, within the .php file that you have just created, you must insert the following comments, which are fields that will be displayed within the WordPress panel, with only the “Plugin Name” mandatory:
Plugin Name: Plugin name
Plugin URI: http: // URI_Of_La_Page_Que_Describe_el_Plugin_y_Updates
Description: A brief description of the plugin.
Version: The version number of the plugin ex: 1.0
Author: Name of the plugin author
Author URI: http: // URI_del_Autor_del_Plugin
License: A “catchy” license name eg GPL2
If you have already been tinkering with Themes and Plugins written by other people and you are clear about the concepts that I was telling you previously, I am sure you will be interested in the new concepts that I want to expose you here. And we are going to answer the question of what should I learn to develop with WordPress.
Before starting I want to tell you that, with each of these points, we could be talking at length, so if you are particularly interested in any of them, I encourage you to start a conversation in the comments or get in touch to tell me. and be able to write about it later.
In this case, we are going to talk about minimal technologies and basic concepts of WordPress development.
In the end, we will see that it is not the only thing that can be done with WordPress, but at an initial moment we can say that WordPress is used to do web projects, therefore we must be up to date or have a minimum of knowledge of the following technologies:
Note that I am not talking about HTML5 or CSS3, we simply must have some knowledge of these two languages, know the basics and be able to work with it .
Of course, the more up-to-date and more control we have, the better and more optimal our results will be, but to learn to develop with WordPress, you don’t need to be an expert in any of these matters, just know them and know how to apply them.
As with the previous languages, of course, the more command of PHP you have, the better your results will be, but you don’t need to be an expert. Again, we return to the fact that you need to know it and know how to use it.
As I have already told you in this article, WordPress is a PHP development framework. Or what is the same, it is a tool for making web projects and, like any tool, it can be used well or it can be used badly.
Here I am going to list a series of concepts that you must understand and apply if you want to learn to develop with WordPress and you want to do it well. Again, I invite you to start a conversation so that we can continue talking about any of them.
It is one of the great unknowns that incorporates the WordPress core itself.
With custom fields you can expand the logical structure of your articles. For example, you can add “source” and cite the source of the article you are writing.
The good thing about doing it this way is that from the Theme you can call that field and show it wherever you want, it will not be part of the content block of your article but it will be the theme itself that decides where to show it , as happens with the title, the author or featured image, for example.
It is important to differentiate it from the previous point. In custom content in WordPress, it allows you to add more entities to the logical structure of your website.
WordPress, by default, brings only two types of content: posts and pages (if you know a little more about the internal structure of WordPress you will know that there are more types of content, but I don’t want to get you involved with this now, so let’s focus on pages and posts).
This allows us to have any type of content within our website, for example, Homes.
Do you want to make a website for a home rental company? You can create the content type Homes and, using the custom fields (the previous point), you can enter all the fields you need such as square meters, number of rooms, number of bathrooms, etc … In this way, you can achieve the logical structure that your site needs.
Great, we have already added all the types of content that I need, as we saw in the previous point with the Homes.
We have already included all the fields that I need to report on the homes, but now I need to be able to modify the visual appearance. Great, this is where the WordPress template hierarchy comes in.
Here I explain much better what the WordPress template hierarchy is but, to summarize it very quickly if we have created the content type Housing and now we create a template called single-housing.php we will be able to control how the information of the housing is displayed. households.
Which fields do we show and which ones don’t? With what HTML structure? And as you can imagine, we can do the same with the category pages.
If you want the property listings to have one aspect or another or show some fields or others. Very simple and practical once you get the hang of it.
The WordPress Loop is the set of information that we have available to display in each of the previous templates. If you learn to play well with the templates, you will not need to query the database to obtain the listings of tickets, homes or the content that you have created.
I’m going to give you an example that I think will make this clearer.
Returning to the Homes, imagine that you have a category of “Homes in Madrid” and create the template corresponding to that category, as we saw in the previous point.
In this way, the WordPress core in that template will already be returning you the set of homes that are categorized as “Homes in Madrid”, and you will not be the one who has to read all the homes and then filter by those that are in Madrid. Simple, fast, and very useful.
From these bases, you will be able to do your own development in WordPress. Of course, we will never finish learning, training is something continuous and unlimited but if what you want to know is what should I learn to develop with WordPress, start with these points.