Hi & Welcome <3
This is the starting of point for an ultra-detailed and super helpful WordPress Theme Development course.
Don’t make the same mistake I made. It cost me two long years.
Learning a tool or a programming language is not all hard. But choosing the right one is so important and will dramatically improve your chances of hitting your goals.
Always remember, TIME is the most valuable thing in the WORLD.
With that in mind, I will start this course by sharing my journey ( which I am still on ), my experiences and my mistakes to hopefully inspire you / guide you in the right direction.
Not interested? Feel free to skip to the Course Outline.
Chapter One: The Realization
It was a dark and rainy night – My Graduation day. I received a phone call from my close friend and I was startled when he questioned:
“Are you attending that interview tomorrow?”
My immediate answer to this is “Nope!” and I decided to go rogue for a host of reasons.
For my entire life, I dreamed of traveling every beautiful place on this planet, I have desired to spend quality time with my family.
I pictured myself coding a Java application on a Goa beach with a surfboard ( I am soo obsessed with Java at that time, not my fault ).
But dreaming is not living. How do I achieve my dreams?
I can not put myself in a Nine-to-Five job (Common!). You can never ever travel the world by doing a day job in India.
The “Up” movie (2009) really impacted me. Poor Seventy-eight year old Carl Fredricksen struggled his entire life just to buy a couple of flight tickets to Paris?
Alright, that is not entirely true. But you get the point right?
Also, I don’t have the next big killer app idea that can turn me rich in five years down the line and as a matter of fact, I always feared getting Caged within the walls of the entrepreneurship.
Bottom Line: Break the patterns to reach your goals.
Chapter Two: The Decision
It occurred to me that becoming a freelancer can give me the ultimate independence.
Imagine being a part of work life with no bosses, flexible work hours, no judging colleagues, no beautiful girls (Ouch!)
(It’s ok, you can get to see them on the beach side 😛 ).
At the end of the day, it all boils down to one thing – the freedom.
After much thought, I took the decision to basically rock the path of freelancing. Yay! I made a decision to freelance as a Java Developer.
“Wait, what? Java? I thought this course is about WordPress? 🙁 “.
It is. Worry not!
Little did I know that I stepped on the toes of a wrong giant (Java) and It cost me two years.
Bottom Line: Trust your gut.
Chapter Three: The Struggle
I stumbled upon a great opportunity which gave me a good start. One of my friend from the United States of America approached me asking to provide Java support for his elder brother who just got a job with a reputed software company.
I supported him in every possible way. Along the way, I earned good money and reputation. He introduced me to couple more Java newbies. It went well for 6 months. But then it hit me.
You know what? Time Zones are stupid. My employers used to wake me up at 3 am IST and it took a decent toll on my health and daylight activities.
Forget about traveling, I couldn’t even take my parents to a cinema.
I soon realized that having a clear vision is much more important than money and talent.
I tried my luck with android app development. I released a couple of “not-so-great” apps on the google play store. After acquiring some decent experience, I started advertising my skills only to run into a different set of problems altogether.
Number one, It took a lot of time to code a high-quality android app. Number two, Mandatory “In Person Meetings” during app development. I felt trapped.
I started wondering about the way I spent my days, Wondering if it is even worth chasing my dreams with strings attached ( they ignored skype on privacy grounds ), Wondering if there is a new approach to reach my goals.
I am not complaining about Java or Android app development. They are great for earning solid revenue. Remember how much was WhatsApp bought for? I love Java ( 😀 ). But, it is no longer my cup of tea.
Bottom Line: Sometimes, you have to let go of your beloved skill for the sake of the desired future.
Chapter Four: The Enlightenment
Three months passed away. Lean bank balance and rejection from my friends and family took away all my confidence. Over-thinking robbed me of my own happiness. Day by day, things are only getting worse.
I refused to give up. I researched harder and followed programming trends.
Then one fine morning, I got bumped into a blog post titled “How to earn a six-figure income online by creating websites“.
The blog post surprised me quite a bit and in fact, it made me look like an idiot.
I consistently ignored the fact that almost every business/profession needs a website.
Even Godaddy tried to help me with its “Create a website for your business” youtube ads (Can’t blame it).
As I started digging deeper with nothing to lose, I found many website developers who are already living my dream life. It is very clear that a web developer can have multiple streams of income ( Just on the Internet ) where the potential is infinite.
I put an end to my curiosity by tweeting every website developer I found asking about their process and tools they use.
Guess What! Eight out of Ten replied back quoting “I use WordPress“. Goosebumps for free. Period.
Bottom Line: Never back down.
Chapter Five: Dreams do come true!
The Wealth of how-to’s available on the internet and my previous experience with HTML, CSS, and PHP helped me conquer WordPress development sooner than I expected. After that, there was no looking back.
I managed to find clients through various job portals. I built a strong portfolio.
And Now? Clients just keep pouring in.
They discuss the financials over Skype.
They email me a Photoshop / Sketch file with content in it and I give them back a fully functional WordPress website. Period.
( I never thought it’s possible to summarize my 9 years of work experience with WordPress in 75 words. Yikes!)
WordPress helped me to build a freelance career that allows to work remotely and travel the world.
Bottom Line: If you can dream it, You can do it.
Chapter Six: Reality before the Reveal
“Hey, are you going to teach us WordPress anytime soon?”
Yep! Hold on for a minute!
Are you working in India? If so, Let’s talk turkey.
(If not, skip to the Course Outline!)
Right now, WordPress has a huge demand in India and It is not going to die anytime soon. A company that I am freelancing for is looking for an Experienced Full-Time WordPress Developer for the past six months and managed to fail spectacularly.
“Why? What is the reason?”
They are not willing to pay higher salaries ( 10 lakhs P.A) (even if you own eight years of experience) and when I asked why they replied,
“We both know why. Clients think websites are cheap. They always demand a website as part of a bigger package. WordPress developers are limited to website development”. And that’s just one shiny egg from the rotten basket.
But, things are totally different if you are a core PHP/Java/Asp.net/Whatever developer. You get higher payouts ( 15+ Lakhs P.A ). You get higher respect from the society around you (It doesn’t matter). Your job is secure (that’s a god damn lie. No software job in India is ever secure).
Bottom Line: If you are learning WordPress to get a Nine-to-Five Job in India, WordPress aids your survival but it does not guarantee the higher payouts.
- Setting up local WordPress Development Environment
- Foundations of Theme Development
- The Home Page
- How to code the home page of a WordPress powered website
- How to configure home page settings
- The Action plan for building the standards friendly Homepage
- The Head Tag
- How to add Favicon
- WordPress Action Hooks: The power behind the functions like wp_head()
- How to add theme support for the Title tag
- Introducing the body_class() template tag
- Introducing WordPress Filter Hooks
- Understanding the flow between WordPress filter hooks and filters attached to them
- HTML Markup for the Header
- How to add the custom Logo to our WordPress website
- Styling the header
- Let’s create some pages
- Creating a custom menu for the header
- Using Custom WordPress Menus
- Understanding Display Locations : How to output a custom menu to the browser
- Introducing Internationalization: Making our theme translation ready
- Dealing with the header menu
- How to build the footer of a WordPress website using Dynamic Sidebars and Widgets
- We need to support WordPress generated CSS classes inside our theme
- Styling “Footer Section One” and Widgets inside it
- What should and shouldn’t go inside a theme
- How to properly create Social Navigation Menus in WordPress
- Adding Dynamic and translation ready Copyright Statement to the footer
- Exercises for mastering Widgets and Menus
- Strategies for building the main content of the Homepage
- Building the important content of the Homepage using the Gutenberg Editor
- The Purpose of the Loop
- How the Loop Works
- Styling the Above the Fold content of the Homepage and fixing other layout problems
- How to add Google Fonts to the WordPress site
- Introducing Custom Fields and How to use them
- Using ACF Plugin to create advanced custom fields
- How to output Custom Fields Built with ACF plugin
- Building Internal Pages
- Displaying Static Pages in WordPress
- Rendering the About page using the page.php
- Introducing Featured Image aka Post Thumbnail
- Introducing Custom Page Templates
- Creating and using alternative header file
- Exercise: Creating and using alternative footer file
- Exercise: Creating a page with contact form
- Building the Blog
- Introducing different pages of a WordPress based blog
- Preparing the content for the blog
- How to create the blog posts index page in WordPress
- What if we edit the title or slug of the Blog page?
- Using the index.php to render the Blog posts index page
- Taking control over thumbnail dimensions using the add_image_size() function
- Introducing the excerpt_length filter hook
- Accessing the post data inside filters
- Introducing the power of “get_” alternatives of the template tags of the Loop
- How to add pagination to blog posts index
- Creating a dynamic sidebar for the Blog posts index page
- How to add HTML5 support for WordPress forms
- Finishing the blog sidebar
- How to build archive pages in WordPress
- Introducing get_template_part() for modular WordPress
- Introducing get_sidebar() for modular sidebars
- Building a single post page
- How to create avatars for the authors of your WordPress site
- Styling the single post page
- How to add comment form functionality to a blog post
- How to add post navigation for a blog post – the easy way
- How to add post navigation for a blog post – the better way
- Exercises for the blog
- Introducing Custom Queries and Custom Post Types
- Introducing Custom Queries
- The problem still lies underneath
- Learning to work with advanced custom queries
- Introduction to Custom Post Types
- Outputting Custom posts using Custom queries
- Building archives page for custom post types
- How to remove taxonomy name from WordPress archive title
- Registering a custom taxonomy
- Putting the newly registered taxonomy to good use
- Building archive page for custom taxonomy
- Let’s move em to a plugin
- Dealing with the Search functionality in WordPress
- Introducing the WordPress Customizer and Its API
- Introducing the WordPress Customize Panel
- Introducing WordPress Theme Customization API
- How to add a Panel, Section and Controls to the Customize Panel
- How to output a Theme Setting value
- Theme Mods vs Options in WordPress
- Using Custom Sanitization Callbacks for Settings
- Using Active Callback on a Control
- How to change the Color Scheme of the site using the Customize Panel
- Exercise for the Customize Panel
- The Conclusion