{"id":23140,"date":"2015-01-19T23:01:23","date_gmt":"2015-01-19T15:01:23","guid":{"rendered":"https:\/\/www.hongkiat.com\/blog\/?p=23140"},"modified":"2023-04-06T19:18:10","modified_gmt":"2023-04-06T11:18:10","slug":"learn-wordpress-2015","status":"publish","type":"post","link":"https:\/\/www.hongkiat.com\/blog\/learn-wordpress-2015\/","title":{"rendered":"Master WordPress in 12 Months: Essential Resources Included"},"content":{"rendered":"<p>If you want to learn something new this year, why not make it WordPress? It powers a huge chunk of the web, you\u2019ll understand your own website better, you\u2019ll be able to communicate with developers better, and you can make some money helping out others.<\/p>\n<p>In addition, programming gives you insight into a certain way of thinking which can be helpful in other walks of life. The trick is to know what you need to learn and to go at it consistently \u2013 discipline is required.<\/p>\n<p>This is a 12-month guide on what to focus on, one topic per month, one month at a time. Bookmark this guide and visit it regularly throughout the year, and by the end of the year, you might be able to hold your ground when it comes to WordPress.<\/p>\n<div class=\"ref-block ref-block--post\" id=\"ref-post-1\">\n\t\t\t\t\t<a href=\"https:\/\/www.hongkiat.com\/blog\/sites-to-learn-coding-online\/\" class=\"ref-block__link\" title=\"Read More: 13 Sites to Learn How to Code for Web Developers\" rel=\"bookmark\"><span class=\"screen-reader-text\">13 Sites to Learn How to Code for Web Developers<\/span><\/a>\n<div class=\"ref-block__thumbnail img-thumb img-thumb--jumbo\" data-img='{ \"src\" : \"https:\/\/assets.hongkiat.com\/uploads\/thumbs\/250x160\/sites-to-learn-coding-online.jpg\" }'>\n\t\t\t\t\t\t\t<noscript>\n<style>.no-js #ref-block-post-17606 .ref-block__thumbnail { background-image: url(\"https:\/\/assets.hongkiat.com\/uploads\/thumbs\/250x160\/sites-to-learn-coding-online.jpg\"); }<\/style>\n<\/noscript>\n\t\t\t\t\t\t<\/div>\n<div class=\"ref-block__summary\">\n<h4 class=\"ref-title\">13 Sites to Learn How to Code for Web Developers<\/h4>\n<p class=\"ref-description\">\n\t\t\t\t\t\tGone are the days when programming languages could only be mastered programmers like Bill Gates, who later got...\t\t\t\t\t\t<span>Read more<\/span><\/p>\n<\/div>\n<\/div>\n<h2>Month #1: Learn To Use WordPress Properly<\/h2>\n<p>Whatever level you use WordPress on, I\u2019m betting there are many things you don\u2019t know. In January you should focus on the admin side of things, no coding just yet.<\/p>\n<p>Make sure to inspect and try out all the functions you see. Try all the links, look at screen options, Help tabs, try to schedule a post, figure out what a sticky post is, create a sidebar and some widgets, assemble a menu, look at all the available settings and so on.<\/p>\n<p>The idea is to <strong>become proficient at using WordPress<\/strong> so you can read and work through tutorials faster. Many people skip this step and it causes unnecessary confusion during the learning process. While programming you don\u2019t want to be distracted by what the WordPress importer is, you\u2019ll have plenty to do without that burden.<\/p>\n<h3>Helpful Resources:<\/h3>\n<p>The list below is by no means exhaustive but I recommend that you go through each section in the admin and try everything out. If you can\u2019t figure out what something does, Google it and go from there.<\/p>\n<ul>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/codex.wordpress.org\/Getting_Started_with_WordPress\">Getting Started With WordPress<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/wordpress.org\/support\/article\/how-to-install-wordpress\/\">Installing WordPress<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/wordpress.org\/support\/article\/updating-wordpress\/\">Updating WordPress<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/wordpress.org\/support\/article\/wordpress-semantics\/\">WordPress Terminology<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/wordpress.org\/support\/article\/wordpress-semantics\/\">All About Posts<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/wordpress.org\/support\/article\/wordpress-semantics\/\">All About Pages<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/wordpress.org\/support\/article\/using-images\/\">Using Images<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/codex.wordpress.org\/Embeds\">Embedding Content<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/codex.wordpress.org\/Shortcode\">Shortcodes<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/wordpress.org\/support\/article\/using-images\/\">Plugins<\/a> and <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/wordpress.org\/support\/article\/using-themes\/\">Themes<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/wordpress.org\/support\/article\/roles-and-capabilities\/\">Users In WordPress<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/codex.wordpress.org\/Plugin_API\/Admin_Screen_Reference\">Admnistration Screens<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/wordpress.org\/support\/article\/custom-fields\/\">Custom Fields<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/wordpress.org\/support\/article\/settings-discussion-screen\/\">Discussions<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/wordpress.org\/support\/article\/using-permalinks\/\">Permalinks<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/wordpress.org\/support\/article\/faq-working-with-wordpress\/\">Working with WordPress FAQ<\/a><\/li>\n<\/ul>\n<h2>Month #2: Developer Tools & Basics<\/h2>\n<p>To get started with development you\u2019ll need some tools and some basic knowledge about <strong>working with files<\/strong>. The first thing you\u2019ll want is a capable text editor. There are plenty of <a target=\"_blank\" href=\"https:\/\/www.hongkiat.com\/blog\/tag\/code-editors\/\" rel=\"noopener\">code editors<\/a> previously reviewed here in Hongkiat, and most are.<\/p>\n<p>I personally use <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/atom.io\/\">Atom<\/a>, and editor made by GitHub. While it is a hugely capable editor it doesn\u2019t have easily accessible FTP capabilities (which I recommend you take into account when choosing an editor. you\u2019ll see why in a moment).<\/p>\n<p><strong>Familiarize yourself with your editor. <\/strong>Whichever one you use I recommend reading about it via Google searches, looking through the settings and make sure you can use it to create and edit files on your computer with confidence.<\/p>\n<p>Next, you\u2019ll want to learn about FTP. File Transfer Protocol is a way to read and edit files on a remote computer. The idea here is that you\u2019ll be able to modify your website without having to download files, and upload them once you\u2019ve modified them with a separate application. Here\u2019s a look at Coda 2 in action.<\/p>\n<figure><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/assets.hongkiat.com\/uploads\/learn-wordpress-2015\/ftp-coda.jpg\" alt=\"guide-to-learning-wordpress\" width=\"796\" height=\"630\"><\/figure>\n<p>You should spend some time this month learning about how basic aspects of the Web work. Why web servers are used, what a browser is used for and so on. You don\u2019t need to go into too much detail but you\u2019ll need a basic understanding of a number of concepts.<\/p>\n<h3>Helpful Resources:<\/h3>\n<ul>\n<li><a target=\"_blank\" href=\"https:\/\/www.hongkiat.com\/blog\/free-code-editors-reviewed\/\" rel=\"noopener\">A List Of Free Code Editors<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/lifehacker.com\/five-best-text-editors-1564907215\">Five Best Text Editors<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.creativebloq.com\/advice\/best-code-editors\">14 Great Text Editors For Web Designers<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.slant.co\/topics\/12\/~best-programming-text-editors\">The Best Programming Text Editors<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.webmonkey.com\/\">FTP For Beginners<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/kb.iu.edu\/d\/aerg\">What Is FTP And How To Transfer Files With It<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/computer.howstuffworks.com\/web-page.htm\">How Web Pages W<\/a><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/computer.howstuffworks.com\/web-page.htm\">ork<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/thewebsiteteacher.com\/\">How A Website Works<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.youtube.com\/watch?v=D8c4JZW73cM\">Video About How Websites Work<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.quackit.com\/how-websites-work\/\">How Websites Work On Quackit.com<\/a><\/li>\n<\/ul>\n<h2>Month #3: HTML & CSS<\/h2>\n<p>It\u2019s time to get our hands dirty with some HTML and CSS, the main languages of the Web. <strong>HTML is what gives pages their structure, CSS is what styles them to look the way they do<\/strong>. They are both easy languages but they require pratice to master.<\/p>\n<p>I think it is important to mention that from here on out you will need lots and lots of practice. I believe that all languages used on the web are easy but there is a great deal of easy information to digest which is part of the difficulty of programming.<\/p>\n<p>don\u2019t get discouraged if you don\u2019t understand something or something isn\u2019t working, we\u2019ve <strong>all<\/strong> been there. Once you\u2019ve gone through some resources and you feel ready for a challenge I recommend practicing by <strong>finding an element you like on a website and trying to recreate it<\/strong>. Another good method is to head over to <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/365psd.com\/\">365 PSD<\/a> or <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/dribbble.com\/\">Dribbble<\/a> and finding a web element you like.<\/p>\n<p>For example, take a look at this <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/dribbble.com\/shots\/974693-Easy-Note?list=searches&tag=widget&offset=1\">Easy Notes<\/a> shot on Dribbble. Click on the attachment and try and recreate the middle to-do type widget.<\/p>\n<figure><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/assets.hongkiat.com\/uploads\/learn-wordpress-2015\/practice-widget.jpg\" alt=\"guide-to-learning-wordpress\" width=\"332\" height=\"317\"><\/figure>\n<p>Once you can create individual elements you can tackle larger projects, like a full website. You can browse sites like <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/themeforest.net\">Themeforest<\/a>, <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.hongkiat.com\/blog\/go\/designmodo\">Designmodo<\/a> and <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.premiumpixels.com\/\">Premium Pixels<\/a> for further inspiration. You can even take ready-made WordPress\/HTML themes and try to recreate them at home as a static HTML page.<\/p>\n<p>Do make sure to be aware of licencing. Themes on Themeforest and many other places are licenced and may not be used without a licence even if you recreate them from scratch!<\/p>\n<h3>Helpful Resources:<\/h3>\n<p><strong>HTML<\/strong><\/p>\n<ul>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.w3schools.com\/html\/\">W3Schools<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/htmldog.com\/guides\/html\/beginner\/\">HTML Dog<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.tutorialspoint.com\/html\/\">TutorialsPoint<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"http:\/\/www.tizag.com\/htmlT\/\">Tizag<\/a><\/li>\n<\/ul>\n<p><strong>CSS<\/strong><\/p>\n<ul>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.w3schools.com\/css\/\">W3Schools<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/htmldog.com\/guides\/html\/beginner\/\">HTML Dog<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.tutorialspoint.com\/css\/\">TutorialsPoint<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"http:\/\/www.tizag.com\/cssT\/\">Tizag<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.csstutorial.net\/\">CSSTutorial.net<\/a><\/li>\n<\/ul>\n<p><strong>Other Resources<\/strong><\/p>\n<ul>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.codecademy.com\/catalog\/subject\/web-development\">Codecademy HTML & CSS<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"http:\/\/www.csszengarden.com\/\">CSS Zen Garden<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/benhowdle.im\/cssselectors\/\">Interactive CSS Selector Tutorial<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/cssguidelin.es\/\">CSS Guidelines<\/a><\/li>\n<\/ul>\n<h2>Month #4: PHP<\/h2>\n<p>The time has come to learn some server side stuff. So far you have only learned clientside code. HTML and CSS is sent as is to a user\u2019s browser and is processed there. <strong>PHP is processed on the server and is converted to HTML and CSS and sent to the browser<\/strong>. It introduces a huge number of useful features which you\u2019ll learn about this month.<\/p>\n<p>PHP is what allows WordPress to display thousands of articles using a single file. PHP is how a website can display the logged in user\u2019s name, how Facebook can display your friends, and so on. The same page on Facebook will look very different for you than it does for me due to the magic of server side code.<\/p>\n<p>Again, PHP is not difficult but there is a lot to know. The difficulty is further increased by not being able to create something useful for quite some time. I recommend looking at <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.hongkiat.com\/blog\/go\/elegant\">WordPress Themes<\/a> as soon as possible to see some practical applications.<\/p>\n<p>Keep in mind that you don\u2019t need to know everything in PHP to get started with WordPress. Object Oriented PHP is not something you\u2019ll need to worry about in the short term and you don\u2019t have to memorize all the functions available.<\/p>\n<p>Having a good working knowledge of variables, loops, if statements and functions is a good start. From there, the more you know the better, and you\u2019ll pick up a lot of things from WordPress itself.<\/p>\n<h3>Helpful Resources:<\/h3>\n<ul>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.w3schools.com\/php\/\">W3Schools<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.codecademy.com\/catalog\/language\/php\">Codecademy<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"http:\/\/www.tizag.com\/phpT\/\">Tizag<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.tutorialspoint.com\/php\/\">TutorialsPoint<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.php.net\/manual\/en\/langref.php\">PHP Language Reference<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.php.net\/manual\/en\/funcref.php\">PHP function reference<\/a><\/li>\n<\/ul>\n<h2>Month #5: Modifying A WordPress Theme<\/h2>\n<p>Finally, we can get started with WordPress! WordPress uses HTML, CSS, PHP and Javascript to display content. You haven\u2019t learned about Javascript just yet but that\u2019s ok, we can do that in a later month.<\/p>\n<p>The first thing you should do is <strong>modify a theme<\/strong>. Using FTP go into the folder that holds your active theme and play around with it. Find where the title is and move it below the content, add some text, add some CSS and so on.<\/p>\n<p>Note that this will actually change your live site so only do this if you\u2019re sure it\u2019s ok. Also, themes should never be modified by touching their code directly. It\u2019s fine for practice but in reality you\u2019ll need to either <strong>create your own theme<\/strong> or <strong>use a child theme to modify an existing one<\/strong> (see the resource section for this month for more info).<\/p>\n<p>The goal for this month is to get comfortable with how a theme works and the code that it uses. You should start learning about <a target=\"_blank\" href=\"https:\/\/www.hongkiat.com\/blog\/wordpress-custom-template-tags\/\" rel=\"noopener\">template tags<\/a>, special WordPress functions that can be used to display post data, and the files that a theme requires.<\/p>\n<p>At the end of the month you should feel comfortable making minor changes to a theme and you should have a rough idea of how to start your own theme from scratch. don\u2019t forget, this month is about <strong>experimentation<\/strong>, <strong>don\u2019t be afraid<\/strong> to do things that are advised against on some sites. <strong>you\u2019re learning, not creating a product!<\/strong><\/p>\n<h3>Helpful Resources:<\/h3>\n<ul>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/codex.wordpress.org\/Child_Themes\">Child Theme Documentation<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/premium.wpmudev.org\/blog\/how-to-create-wordpress-child-theme\/\">How To Create A Child Theme<\/a><\/li>\n<li><a target=\"_blank\" href=\"https:\/\/www.hongkiat.com\/blog\/wordpress-child-themes-dev\/\" rel=\"noopener\">Child Theme Tutorial<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/codex.wordpress.org\/Template_Tags\">Template Tags<\/a><\/li>\n<\/ul>\n<h2>Month #6: Creating A Theme<\/h2>\n<p>Creating a theme is not too different from modifying an existing one but you\u2019ll need to create a lot of your own files. don\u2019t be afraid to copy-paste from other themes like Twenty Fifteen. Files like <code>comments.php<\/code> which governs the discussions is roughly the same on most sites. You can use CSS to make it look different, and just rearrange some HTML perhaps.<\/p>\n<p>Creating a theme is a good exercise because it takes you through so much functionality it deepens your knowledge of WordPress in general. you\u2019ll need to create a header and footer, you\u2019ll need to think about sidebars, menus, comments, single posts, pages, home pages and more.<\/p>\n<p>You should be focusing on questions that come up during development. Your website will show the latest 10 posts on the front page, but \"what do I do if I want something completely different?\" These are the type of questions that may only arise while building something.<\/p>\n<p>you\u2019ll need to have a good understanding of the template hierarchy which governs the files responsible for displaying specific content. Make sure to take a look at page templates (see resources). These allow you to build pages with custom functionality.<\/p>\n<p>Once you\u2019ve gone through everything, I recommend taking a look at <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.advancedcustomfields.com\/\">Advanced Custom Fields<\/a>. This plugin allows you to create extremely useful option groups for posts which you can use in your themes.<\/p>\n<p>I\u201dll list plenty of resources here but if in doubt, refer to the Twenty Fifteen code base for help, it should have everything you need!<\/p>\n<h3>Helpful Resources:<\/h3>\n<ul>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/developer.wordpress.org\/themes\/basics\/template-hierarchy\/\">Template Hierarchy<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/codex.wordpress.org\/Conditional_Tags\">Conditional Tags<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/codex.wordpress.org\/Function_Reference\">Full Function Reference<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/codex.wordpress.org\/Theme_Development\">Theme Development<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/codex.wordpress.org\/Sidebars\">Sidebar Documentation<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/codex.wordpress.org\/Navigation_Menus\">Navigation Menus<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/codex.wordpress.org\/Creating_an_Archive_Index\">Archive Index<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/codex.wordpress.org\/Creating_a_Static_Front_Page\">Creating A Static Front Page<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/codex.wordpress.org\/Creating_a_Search_Page\">Creating A Search Page<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/codex.wordpress.org\/Creating_an_Error_404_Page\">Creating A 404 Page<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/developer.wordpress.org\/reference\/functions\/comments_template\/\">The Comments Template<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/codex.wordpress.org\/Author_Templates\">Author Templates<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.advancedcustomfields.com\/\">Advanced Custom Fields<\/a><\/li>\n<\/ul>\n<h2>Month #7: The Basics About Hooks & Plugins<\/h2>\n<p>The hooks system provides the foundation for plugins. They allow you to add new functionality to WordPress or modify existing core <strong>functionality<\/strong> without the need to modify the core <strong>code<\/strong>.<\/p>\n<p>They work kind of like triggers. Instead of going to the code in the WordPress files which publishes a post, and adding your own code to send the author an email, you can say: \u201cWhen WordPress publishes a post, send an email to the author\u201d. This can be done in a completely separate file which means the core code is never modified.<\/p>\n<p>You\u2019ve actually been using them in your theme as well when you used the <code>wp_head()<\/code> and <code>wp_footer()<\/code> functions. WordPress uses these internally to output a bunch of code, like the admin bar for example. This is how plugins can modify themes without actually touching the theme.<\/p>\n<p>Learning about hooks will be your entry point into plugin development. Understanding them is key to working with WordPress and perhaps offering professional services in the future. Take your time to master this one, you will be relying on hooks heavily for all your projects.<\/p>\n<p>This month you shouldn\u2019t delve too deep into plugins but learning the required files and some basics will probably fit inside our timeframe. Plugins are very easy to create, they actually just require a single file with a comment on top.<\/p>\n<p>From there you can do whatever you\u201dd like but you do need to use the correct hooks \u2013 which is why hooks are so important.<\/p>\n<h3>Helpful Resources:<\/h3>\n<ul>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/codex.wordpress.org\/Plugin_API\">The Plugin API<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.smashingmagazine.com\/2011\/10\/definitive-guide-wordpress-hooks\/\">The Definitive Guide To Hooks<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/wpengineer.com\/1302\/define-your-own-wordpress-hooks\/\">Define Your Own Hooks<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/codex.wordpress.org\/Writing_a_Plugin\">Writing A Plugin<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.elegantthemes.com\/blog\/tips-tricks\/how-to-create-a-wordpress-plugin\">How To Create A WordPress Plugin<\/a><\/li>\n<\/ul>\n<h2>Month #8: Plugin Proficiency<\/h2>\n<p>August is the time to put some practice into creating plugins. Find something you would want a plugin for and do it yourself. Would you like all instances of good transformed into \u201cawesome\u201d any time a post is published? Go ahead and do it.<\/p>\n<p>If you find a great idea feel free to submit it to the plugin repository but the name of the game is practice makes perfect. You can start to worry about following coding standards and making sure your code is commented and nicely formatted.<\/p>\n<p>You should have enough knowledge now to be distracted by such things. After a while commenting and standard code will be second nature, even if it seems a little unweildy at first.<\/p>\n<p>Create at least 2-3 plugins this month. Make them varied, if one modifies post content, perhaps the other should do something when a post is published. Perhaps you should create some custom post types and custom taxonomies, these are frequently needed for more complex projects, see the links in the resources section.<\/p>\n<p>This is the stage where you should gradually be learning outlying areas of WordPress like creating new roles, custom post types and more. You <strong>can<\/strong> hunt all of this down and study them but it may be better to tackle them as they come up as a requirement for a project.<\/p>\n<p>Coding efficiently and confidently with the things you know is more important than the amount of things in your brain. I\u2019ve been coding for a long time now and I sometimes need to look up the simplest of things. Knowing that something is available is enough, being able to code with ease is more important,<\/p>\n<h3>Helpful Resources:<\/h3>\n<ul>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/codex.wordpress.org\/WordPress_Coding_Standards\">Coding Standards<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/codex.wordpress.org\/Taxonomies\">Custom Taxonomies<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/codex.wordpress.org\/Post_Types\">Custom Post Types<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/codex.wordpress.org\/Settings_API\">Settings API<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/codex.wordpress.org\/Metadata_API\">Metadata API<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/codex.wordpress.org\/Options_API\">Options API<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.smashingmagazine.com\/2012\/11\/complete-guide-custom-post-types\/\">Complete Guide To Custom Post Types<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/premium.wpmudev.org\/blog\/creating-translatable-wordpress-themes-plugins\/\">Creating Translatable Themes And Plugins<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/premium.wpmudev.org\/blog\/adding-scripts-and-styles-wordpress-enqueueing\/\">Enqueueing Scripts And Styles<\/a><\/li>\n<\/ul>\n<h2>Month #9: Javascript<\/h2>\n<p>The (almost) last piece of the puzzle is Javascript. Javascript allows you to add interactivity and other advanced features to your website. By utilizing Javascript you can an pop-up modals, load comments in place, implement endless scrolling and much more.<\/p>\n<p>Javascript is fundamentally a client side language but can be coupled with server side code using AJAX. This is what allows you to vote on an article for example. When you click the vote button the button changes to a thank you note and the vote count is incremented by one. All this happens without the page reloading. This is Javascript coupled with some PHP using AJAX.<\/p>\n<p>Most of the Javascript you\u2019ll be using will be jQuery. jQuery is a Javascript framework which implements special functions and gives you easy access to commonly used patterns. It\u2019s important to understand that jQuery is <strong>not<\/strong> special Javascript, just as there is nothing special about the PHP used in WordPress. It\u2019s simply a frame in which you can work.<\/p>\n<p>Javascript can be the most complex since it spans multiple disciplines and can be found in many aspects of a website. From tracking codes to loading resources, managing images, intercepting user actions and simple animations, it is truly everywhere.<\/p>\n<p>The good news is that you know you have all the knowledge you need to add Javascript to your theme or plugin right away. You should be \u201cover the hump\u201d \u2013 anything you learn right now should be easy to implement once you\u2019ve learned it.<\/p>\n<h3>Helpful Resources:<\/h3>\n<p><strong>Javascript<\/strong><\/p>\n<ul>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.w3schools.com\/js\/\">W3Schools<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.codecademy.com\/catalog\/language\/javascript\">Codecademy<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.tutorialspoint.com\/javascript\/\">TutorialsPoint<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/htmldog.com\/guides\/javascript\/\">HTML Dog<\/a><\/li>\n<\/ul>\n<p><strong>jQuery<\/strong><\/p>\n<ul>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.w3schools.com\/jquery\/\">W3Schools<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/learn.jquery.com\/\">jQuery Learning Center<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.tutorialspoint.com\/jquery\/\">TutorialsPoint<\/a><\/li>\n<\/ul>\n<p><strong>More<\/strong><\/p>\n<ul>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/codex.wordpress.org\/AJAX\">AJAX And WordPress<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.smashingmagazine.com\/2011\/10\/how-to-use-ajax-in-wordpress\/\">How To Use AJAX In WordPress<\/a><\/li>\n<\/ul>\n<h2>Month #10: Practice Practice Practice<\/h2>\n<p>To underline how important practice is I would recommend devoting an entire month to it at this point. I\u2019ve been programming for quite some time now and compared to a newcomer I can understand new concepts faster but I\u2019m still completely lost without practice.<\/p>\n<p>Luckily, the more your practice, the faster you will learn things <em>later<\/em>. In fact, by getting used to always working with code, you will need less and less practice to get the same result.<\/p>\n<p>In a WordPress environment the best way to practice is to create themes and plugins. One method you can try is to recreate a simple, already existing, plugin from scratch. If you get stuck somewhere you can look at the source code of the actual product.<\/p>\n<p>Focus on deepening your understanding of concepts you already know. Get into the practice of reading design and developer magazines, and developer blogs of your favourite apps. Here are some of the biggest places to read about web development apart from right here on Hongkiat of course.<\/p>\n<h2>Your Reading List<\/h2>\n<ul>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.smashingmagazine.com\/\">Smashing Magazine<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/premium.wpmudev.org\/blog\/\">WPMU DEV Blog<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/alistapart.com\/\">A List Apart<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/scotch.io\/\">Scotch.io<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/davidwalsh.name\/\">David Walsh Blog<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/code.tutsplus.com\/\">Code.Tutsplus<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/designmodo.com\/\">Designmodo<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/css-tricks.com\/\">CSS-Tricks<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"http:\/\/www.dontfeartheinternet.com\/\">don\u2019t Fear The Internet<\/a><\/li>\n<\/ul>\n<h2>Month #11: Advanced Concepts<\/h2>\n<p>This is the month where all the knowledge you have should come together and you can start becoming a programmer. You should be able to start <strong>seeing the big picture <\/strong>and<strong> have a working knowledge<\/strong> of the four main languages that WordPress uses: HTML, CSS, JS and PHP.<\/p>\n<p>I would advise starting to learn <strong>object oriented PHP<\/strong>. You are already using it in your themes and plugins in the loop and other constructs. OOP (object oriented PHP) will enable you to write better code and to understand the core code of WordPress better. In addition, it is the gateway to programming with C type languages and thus creating apps for iOS for example.<\/p>\n<p>You can further your WordPress knowledge by learning about some of the classes, how to interact with the database directly, how transients work.<\/p>\n<p>You should be able to undertake small, paid projects now with confidence. don\u2019t forget that doing actual commissioned work is where you learn most. It\u2019s not only about coding, it\u2019s about learning to <a target=\"_blank\" href=\"https:\/\/www.hongkiat.com\/blog\/effective-communication-tactics-for-designers\/\" rel=\"noopener\">communicate about code<\/a> to people who don\u2019t know anything abut the internet.<\/p>\n<p>Practice is important at every stage but you should now have enough knowledge to learn a concept without too much work. Transients (options with an expiration date) should be clear for example, even if you\u2019ve never had the need for them. You should be able to gauge when they will be useful, and look them up as needed.<\/p>\n<p>As the final language to learn for WordPress you will want to <strong>look at MySQL<\/strong> which is used to <strong>query the database directly<\/strong>. Much of this functionality can be used via functions but sometimes you\u2019ll need to query the db directly.<\/p>\n<p>I would like to stress the importance of <strong>getting into an object oriented mindset<\/strong>. It will seem very alien at first and the usage of them will seem unclear. Remember how the use of PHP was unclear when you first studied it? How does a variable and an if statement get me a webpage?<\/p>\n<p>Object oriented PHP is similar. It is used for complex cases, the more convoluted things in it are only needed for large-scale applications. This is why concepts sometimes seem redundant or over-complex.<\/p>\n<p>I really recommend high-quality video tutorials for this one. My favorites can be found on Laracasts (see resources). Laracasts was primarily made for Laravel but contains a lot of OOP and other high-level concepts.<\/p>\n<ul>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.w3schools.com\/sql\/\">MySQL On W3Schools<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.tutorialspoint.com\/mysql\/\">MySQL On TutorialsPoint<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/laracasts.com\/\">Laracasts<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.tutorialspoint.com\/php\/php_object_oriented.htm\">TutorialsPoint<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.php.net\/manual\/en\/language.oop5.php\">OOP Documentation<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.smashingmagazine.com\/2011\/09\/interacting-with-the-wordpress-database\/\">Interacting With The WordPress Database<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/scotch.io\/tutorials\/a-guide-to-transients-in-wordpress\">A Guide To Transients<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/codex.wordpress.org\/Class_Reference\/Walker\">The Walker Class<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/codex.wordpress.org\/Class_Reference\/WP_Error\">The WP_Error Class<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/codex.wordpress.org\/Class_Reference\/WP_Query\">The WP_Query Class<\/a><\/li>\n<\/ul>\n<h2>Month #12: Advanced Development Tools<\/h2>\n<p>Now that you know a lot more it\u2019s time to make your life easier by learning to use some advanced tools. This includes things like <strong>using SSH to access a server, WP-CLI to manage WordPress installations, Vagrant to create a local WordPress installation<\/strong>, and more.<\/p>\n<p>The first thing you should learn is <strong>how to set up WordPress locally using XAMPP, MAMP, WAMP or Vagrant<\/strong>. I personally use Vagrant, but the rest are just fine too. This removes the need to use FTP all the time, considerably speeding up development time.<\/p>\n<p>Next you should look into SSH. This involves <strong>using the terminal <\/strong>and<strong> issuing commands<\/strong>. This sounds scary but really isn\u2019t. It will open up a whole new world. WP-CLI will be a great introduction to this. It allows you to install WordPress in a few seconds, download a theme, update it, and create test users with a simple command.<\/p>\n<p>I also recommend learning all about <strong>CSS preprocessors<\/strong>. Languages like LESS and SASS allow you to use variables, functions and other advanced concepts in your CSS.<\/p>\n<p>As a part of your preprocessor studies you should learn how to use advanced compiler tools like Prepros or Codekit. These tools can reload the website whenever a file is saved, automatically compile CSS, <a target=\"_blank\" href=\"https:\/\/www.hongkiat.com\/blog\/javascript-minifying-tools\/\" rel=\"noopener\">minify Javascript<\/a> and so on.<\/p>\n<p>This will give you insight into the world of coding for production. In development you want to use as many separate files as you can to make your code more logical. In production you only want as small a footprint as possible so all Javascript and CSS files should be minified and concatenated. The mentioned tools give you all you need to get comfortable with this.<\/p>\n<p>You should also start working more efficiently with your text editor. Are you using snippets? Are you checking your syntax automatically? Do you know all the keyboard shortcuts that would make your life easier?<\/p>\n<p>This is an area where you can continuously change and grow. I went from using XAMPP to MAMP to, finally, Vagrant. It was a natural learning curve and I am still in the process of learning all there is to know about Vagrant.<\/p>\n<p>I went from using Notepad++ to Sublime to Coda to Atom. There\u2019s nothing wrong with any of these tools but as I grew I naturally progressed from one to the other.<\/p>\n<p>Finally, you will want to look into <strong>version control<\/strong>, specifically SVN and Git. The basics are much the same, you\u2019ll need to learn some separate commands, but once you understand one, the other will be easy to grasp.<\/p>\n<p>The reason you\u2019ll want both is that WordPress uses SVN at the moment so when you <strong>release plugins and themes you\u2019ll need to use SVN<\/strong>. Most projects use <strong>Git<\/strong> as it is a bit better for <strong>working in teams<\/strong>, so that is what you\u2019ll want to use for other projects.<\/p>\n<h3>Helpful Resources:<\/h3>\n<ul>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/premium.wpmudev.org\/blog\/vagrant-wordpress-test-environment\/\">Using Vagrant To Set Up A Local WordPress Environment<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.vagrantup.com\/\">Vagrant<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.apachefriends.org\/index.html\">XAMPP<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.mamp.info\/en\/mac\/\">MAMP<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.wampserver.com\/en\/\">WAMP<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.climagic.org\/tutorials\/SSH_Tutorial_for_Linux.php\">SSH Tutorial For Linux<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.siteground.com\/tutorials\/ssh\/\">How To Use SSH<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/wp-cli.org\/\">WP-CLI<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/lesscss.org\/\">LESS<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/sass-lang.com\/\">SASS<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/sass-lang.com\/guide\">SASS Basics<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/lesscss.org\/\">Getting Started With LESS<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/prepros.io\/\">Prepros<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/betterexplained.com\/articles\/a-visual-guide-to-version-control\/\">Koala<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/betterexplained.com\/articles\/a-visual-guide-to-version-control\/\">A Visal Guide To Version Control<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.git-tower.com\/learn\/\">Learn Version Control With Git<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/svnbook.red-bean.com\/\">The SVN Book<\/a><\/li>\n<\/ul>\n<h2>Final Words<\/h2>\n<p>I hope this article gave you a good overview into what is required to <strong>get from nothing to being a pro developer<\/strong>. In reality if you can commit full time it probably won\u2019t take a whole year.<\/p>\n<p>There are two big things to keep in mind. The main one is that while no single bit of this is difficult, it is a LOT to know, which makes it hard when put together. <strong>don\u2019t be discouraged<\/strong> if you get stuck or you work slower than others. Everyone works in their own pace, if you keep at it, you will become a good developer.<\/p>\n<p>Also, one of the main characteristics of good developers is that <strong>they never stop learning<\/strong>. They continuously look for better solutions, learn new languages and new methods. They keep in mind that the world of coding is not black and white, many times <strong>there is no single good answer to a problem<\/strong>.<\/p>","protected":false},"excerpt":{"rendered":"<p>If you want to learn something new this year, why not make it WordPress? It powers a huge chunk of the web, you\u2019ll understand your own website better, you\u2019ll be able to communicate with developers better, and you can make some money helping out others. In addition, programming gives you insight into a certain way&hellip;<\/p>\n","protected":false},"author":143,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[49],"tags":[4663,2501,252],"topic":[4520],"class_list":["entry-content","is-maxi"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v22.8 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Ultimate 12-Month Guide to Learning WordPress (Plus Resources)<\/title>\n<meta name=\"description\" content=\"If you want to learn something new this year, why not make it WordPress? It powers a huge chunk of the web, you&#039;ll understand your own website better,\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.hongkiat.com\/blog\/learn-wordpress-2015\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Master WordPress in 12 Months: Essential Resources Included\" \/>\n<meta property=\"og:description\" content=\"If you want to learn something new this year, why not make it WordPress? It powers a huge chunk of the web, you&#039;ll understand your own website better,\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.hongkiat.com\/blog\/learn-wordpress-2015\/\" \/>\n<meta property=\"og:site_name\" content=\"Hongkiat\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/hongkiatcom\" \/>\n<meta property=\"article:published_time\" content=\"2015-01-19T15:01:23+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-04-06T11:18:10+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/assets.hongkiat.com\/uploads\/learn-wordpress-2015\/ftp-coda.jpg\" \/>\n<meta name=\"author\" content=\"Daniel Pataki\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@hongkiat\" \/>\n<meta name=\"twitter:site\" content=\"@hongkiat\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Daniel Pataki\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"20 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/learn-wordpress-2015\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/learn-wordpress-2015\\\/\"},\"author\":{\"name\":\"Daniel Pataki\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#\\\/schema\\\/person\\\/76d3b3baacd688e9a0d7bd24553519bc\"},\"headline\":\"Master WordPress in 12 Months: Essential Resources Included\",\"datePublished\":\"2015-01-19T15:01:23+00:00\",\"dateModified\":\"2023-04-06T11:18:10+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/learn-wordpress-2015\\\/\"},\"wordCount\":3965,\"commentCount\":34,\"publisher\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/learn-wordpress-2015\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/assets.hongkiat.com\\\/uploads\\\/learn-wordpress-2015\\\/ftp-coda.jpg\",\"keywords\":[\"ad-divi\",\"self-learning\",\"WordPress Tips\"],\"articleSection\":[\"WordPress\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/learn-wordpress-2015\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/learn-wordpress-2015\\\/\",\"url\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/learn-wordpress-2015\\\/\",\"name\":\"Ultimate 12-Month Guide to Learning WordPress (Plus Resources)\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/learn-wordpress-2015\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/learn-wordpress-2015\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/assets.hongkiat.com\\\/uploads\\\/learn-wordpress-2015\\\/ftp-coda.jpg\",\"datePublished\":\"2015-01-19T15:01:23+00:00\",\"dateModified\":\"2023-04-06T11:18:10+00:00\",\"description\":\"If you want to learn something new this year, why not make it WordPress? It powers a huge chunk of the web, you'll understand your own website better,\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/learn-wordpress-2015\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/learn-wordpress-2015\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/learn-wordpress-2015\\\/#primaryimage\",\"url\":\"https:\\\/\\\/assets.hongkiat.com\\\/uploads\\\/learn-wordpress-2015\\\/ftp-coda.jpg\",\"contentUrl\":\"https:\\\/\\\/assets.hongkiat.com\\\/uploads\\\/learn-wordpress-2015\\\/ftp-coda.jpg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/learn-wordpress-2015\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Master WordPress in 12 Months: Essential Resources Included\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/\",\"name\":\"Hongkiat\",\"description\":\"Tech and Design Tips\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#organization\",\"name\":\"Hongkiat.com\",\"url\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/wp-content\\\/uploads\\\/hkdc-logo-rect-yoast.jpg\",\"contentUrl\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/wp-content\\\/uploads\\\/hkdc-logo-rect-yoast.jpg\",\"width\":1200,\"height\":799,\"caption\":\"Hongkiat.com\"},\"image\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/hongkiatcom\",\"https:\\\/\\\/x.com\\\/hongkiat\",\"https:\\\/\\\/www.pinterest.com\\\/hongkiat\\\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#\\\/schema\\\/person\\\/76d3b3baacd688e9a0d7bd24553519bc\",\"name\":\"Daniel Pataki\",\"description\":\"Daniel is a writer for Hongkiat.com. When not coding or writing, you'll find him playing board games or running with his dog. You can drop him a line on Twitter or visit his personal website.\",\"sameAs\":[\"http:\\\/\\\/danielpataki.com\\\/\"],\"url\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/author\\\/danielpataki\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Ultimate 12-Month Guide to Learning WordPress (Plus Resources)","description":"If you want to learn something new this year, why not make it WordPress? It powers a huge chunk of the web, you'll understand your own website better,","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.hongkiat.com\/blog\/learn-wordpress-2015\/","og_locale":"en_US","og_type":"article","og_title":"Master WordPress in 12 Months: Essential Resources Included","og_description":"If you want to learn something new this year, why not make it WordPress? It powers a huge chunk of the web, you'll understand your own website better,","og_url":"https:\/\/www.hongkiat.com\/blog\/learn-wordpress-2015\/","og_site_name":"Hongkiat","article_publisher":"https:\/\/www.facebook.com\/hongkiatcom","article_published_time":"2015-01-19T15:01:23+00:00","article_modified_time":"2023-04-06T11:18:10+00:00","og_image":[{"url":"https:\/\/assets.hongkiat.com\/uploads\/learn-wordpress-2015\/ftp-coda.jpg","type":"","width":"","height":""}],"author":"Daniel Pataki","twitter_card":"summary_large_image","twitter_creator":"@hongkiat","twitter_site":"@hongkiat","twitter_misc":{"Written by":"Daniel Pataki","Est. reading time":"20 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.hongkiat.com\/blog\/learn-wordpress-2015\/#article","isPartOf":{"@id":"https:\/\/www.hongkiat.com\/blog\/learn-wordpress-2015\/"},"author":{"name":"Daniel Pataki","@id":"https:\/\/www.hongkiat.com\/blog\/#\/schema\/person\/76d3b3baacd688e9a0d7bd24553519bc"},"headline":"Master WordPress in 12 Months: Essential Resources Included","datePublished":"2015-01-19T15:01:23+00:00","dateModified":"2023-04-06T11:18:10+00:00","mainEntityOfPage":{"@id":"https:\/\/www.hongkiat.com\/blog\/learn-wordpress-2015\/"},"wordCount":3965,"commentCount":34,"publisher":{"@id":"https:\/\/www.hongkiat.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.hongkiat.com\/blog\/learn-wordpress-2015\/#primaryimage"},"thumbnailUrl":"https:\/\/assets.hongkiat.com\/uploads\/learn-wordpress-2015\/ftp-coda.jpg","keywords":["ad-divi","self-learning","WordPress Tips"],"articleSection":["WordPress"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.hongkiat.com\/blog\/learn-wordpress-2015\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.hongkiat.com\/blog\/learn-wordpress-2015\/","url":"https:\/\/www.hongkiat.com\/blog\/learn-wordpress-2015\/","name":"Ultimate 12-Month Guide to Learning WordPress (Plus Resources)","isPartOf":{"@id":"https:\/\/www.hongkiat.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.hongkiat.com\/blog\/learn-wordpress-2015\/#primaryimage"},"image":{"@id":"https:\/\/www.hongkiat.com\/blog\/learn-wordpress-2015\/#primaryimage"},"thumbnailUrl":"https:\/\/assets.hongkiat.com\/uploads\/learn-wordpress-2015\/ftp-coda.jpg","datePublished":"2015-01-19T15:01:23+00:00","dateModified":"2023-04-06T11:18:10+00:00","description":"If you want to learn something new this year, why not make it WordPress? It powers a huge chunk of the web, you'll understand your own website better,","breadcrumb":{"@id":"https:\/\/www.hongkiat.com\/blog\/learn-wordpress-2015\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.hongkiat.com\/blog\/learn-wordpress-2015\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.hongkiat.com\/blog\/learn-wordpress-2015\/#primaryimage","url":"https:\/\/assets.hongkiat.com\/uploads\/learn-wordpress-2015\/ftp-coda.jpg","contentUrl":"https:\/\/assets.hongkiat.com\/uploads\/learn-wordpress-2015\/ftp-coda.jpg"},{"@type":"BreadcrumbList","@id":"https:\/\/www.hongkiat.com\/blog\/learn-wordpress-2015\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.hongkiat.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Master WordPress in 12 Months: Essential Resources Included"}]},{"@type":"WebSite","@id":"https:\/\/www.hongkiat.com\/blog\/#website","url":"https:\/\/www.hongkiat.com\/blog\/","name":"Hongkiat","description":"Tech and Design Tips","publisher":{"@id":"https:\/\/www.hongkiat.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.hongkiat.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.hongkiat.com\/blog\/#organization","name":"Hongkiat.com","url":"https:\/\/www.hongkiat.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.hongkiat.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.hongkiat.com\/blog\/wp-content\/uploads\/hkdc-logo-rect-yoast.jpg","contentUrl":"https:\/\/www.hongkiat.com\/blog\/wp-content\/uploads\/hkdc-logo-rect-yoast.jpg","width":1200,"height":799,"caption":"Hongkiat.com"},"image":{"@id":"https:\/\/www.hongkiat.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/hongkiatcom","https:\/\/x.com\/hongkiat","https:\/\/www.pinterest.com\/hongkiat\/"]},{"@type":"Person","@id":"https:\/\/www.hongkiat.com\/blog\/#\/schema\/person\/76d3b3baacd688e9a0d7bd24553519bc","name":"Daniel Pataki","description":"Daniel is a writer for Hongkiat.com. When not coding or writing, you'll find him playing board games or running with his dog. You can drop him a line on Twitter or visit his personal website.","sameAs":["http:\/\/danielpataki.com\/"],"url":"https:\/\/www.hongkiat.com\/blog\/author\/danielpataki\/"}]}},"jetpack_featured_media_url":"https:\/\/","jetpack_shortlink":"https:\/\/wp.me\/p4uxU-61e","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/posts\/23140","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/users\/143"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/comments?post=23140"}],"version-history":[{"count":4,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/posts\/23140\/revisions"}],"predecessor-version":[{"id":65957,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/posts\/23140\/revisions\/65957"}],"wp:attachment":[{"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/media?parent=23140"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/categories?post=23140"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/tags?post=23140"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/topic?post=23140"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}