New: Complete Beginner's Guide to Coding is now available in Premium
Updated: Indian Govt Exam roadmaps now include salary breakdowns & timelines
Tip: Use the Career Hub to explore all career paths in one place
Web Dev

WordPress Developer

From zero to building professional WordPress websites and plugins

3-6 months Beginner → Pro ₹3-25 LPA 10 Steps
WordPress Developer
Complete Roadmap
About This Roadmap

WordPress powers 43% of all websites on the internet — from small blogs to Fortune 500 company sites. Learning WordPress development is one of the fastest ways to start earning as a web developer in India. Freelancers charge ₹5,000–₹2,00,000 per website, and full-time WordPress developers earn ₹3–25 LPA. This roadmap takes you from absolute zero to building custom themes, plugins, and client-ready websites in 3–6 months.

Who Is This For?
  • Students who want to earn while studying
  • Freshers looking for their first web development job
  • Anyone who wants to build websites for clients or their own business
  • Designers who want to add development skills
What You Will Learn
Build custom WordPress themes from scratch
Create plugins using WordPress hooks and APIs
Deploy WordPress sites to live servers
Earn ₹5K–₹2L per project as a freelancer
Progress: 0 / 10 steps completed
1
HTML & CSS Basics Week 1-2

Learn HTML structure and CSS styling. Build 3 static web pages. Understand divs, classes, flexbox, and responsive design. This is the foundation of every WordPress theme.

VS Code Chrome DevTools freeCodeCamp
2
JavaScript Fundamentals Week 3-4

Learn variables, functions, DOM manipulation, and events. You need JS to understand WordPress themes and add interactivity. Focus on vanilla JS before jQuery.

JavaScript.info freeCodeCamp CodePen
3
PHP Basics Week 5-6

WordPress is built on PHP. Learn variables, arrays, functions, loops, and include/require. You don't need to be a PHP expert — just understand how it works.

PHP.net W3Schools PHP XAMPP
4
MySQL & Databases Week 7

WordPress stores everything in MySQL. Learn basic SQL: SELECT, INSERT, UPDATE, DELETE. Understand WordPress database tables (wp_posts, wp_users, wp_options).

phpMyAdmin MySQL Workbench W3Schools SQL
5
WordPress Core Concepts Week 8-9

Install WordPress locally (XAMPP). Learn the dashboard, posts vs pages, categories, menus, widgets, and plugins. Understand the WordPress file structure and template hierarchy.

WordPress.org XAMPP Local by Flywheel
6
Theme Development Week 10-12

Build a custom WordPress theme from scratch. Learn template files (header.php, footer.php, index.php, single.php). Use WordPress template tags and the Loop. Create a child theme.

Underscores (_s) WordPress Codex GeneratePress
7
Plugin Development Week 13-15

Create custom plugins using WordPress hooks (actions & filters). Build a simple contact form plugin. Learn shortcodes, custom post types, and meta boxes.

WordPress Plugin Handbook WP_Query ACF
8
Security & Performance Week 16

Learn WordPress security best practices: sanitize inputs, nonces, user roles. Optimize performance: caching (WP Rocket), image optimization, CDN setup, database cleanup.

Wordfence WP Rocket GTmetrix
9
Deploy & Go Live Week 17-18

Move your local WordPress site to a live server using cPanel. Set up a domain, SSL certificate, and configure wp-config.php. Use All-in-One WP Migration plugin.

cPanel All-in-One WP Migration Cloudflare
10
Build Portfolio & Freelance Week 19-20

Build 3 portfolio websites (different niches). Create profiles on Fiverr, Upwork, and LinkedIn. Start with small projects (₹5K-20K) and scale up. Join WordPress Facebook groups.

Fiverr Upwork LinkedIn

Deep Dive Topics

WordPress Theme Development

A WordPress theme controls the visual presentation of your site. Every theme follows the Template Hierarchy — WordPress looks for specific template files in a set order to decide which file renders each page type.

Key template files: index.php (fallback), single.php (single posts), page.php (static pages), archive.php (category/tag archives), header.php, footer.php, functions.php (theme logic).

Child Themes: Always create a child theme when customizing an existing theme. A child theme inherits the parent's styles and templates but lets you override them safely — your changes survive parent theme updates.

Starter Theme: Use Underscores (_s) — a minimal, well-structured starter theme from Automattic. It gives you the correct file structure without unnecessary bloat.

Minimal functions.php + index.php example:

<?php // functions.php — enqueue styles function mytheme_scripts() { wp_enqueue_style( 'mytheme-style', get_stylesheet_uri(), [], '1.0.0' ); } add_action( 'wp_enqueue_scripts', 'mytheme_scripts' ); // Register navigation menu function mytheme_setup() { register_nav_menus([ 'primary' => __( 'Primary Menu', 'mytheme' ), ]); add_theme_support( 'title-tag' ); add_theme_support( 'post-thumbnails' ); } add_action( 'after_setup_theme', 'mytheme_setup' );
<?php // index.php get_header(); ?> <main> <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?> <article> <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2> <?php the_excerpt(); ?> </article> <?php endwhile; else : ?> <p>No posts found.</p> <?php endif; ?> </main> <?php get_footer(); ?>

WordPress Plugin Development

Plugins extend WordPress functionality without modifying core files. The plugin system is built on hooks — Actions and Filters — that let you inject code at specific points in WordPress execution.

  • Actions — do something at a specific point (add_action)
  • Filters — modify data before it is used (add_filter)
  • Shortcodes — embed dynamic content in posts/pages with [my_shortcode]
  • Custom Post Types — register new content types (e.g., Portfolio, Testimonials)
  • Custom Taxonomies — create new grouping systems like categories/tags

Minimal plugin example:

<?php /** * Plugin Name: My Hello Plugin * Description: Adds a [hello] shortcode. * Version: 1.0 * Author: Your Name */ // Security: prevent direct access if ( ! defined( 'ABSPATH' ) ) exit; // Register shortcode function mhp_hello_shortcode( $atts ) { $atts = shortcode_atts( [ 'name' => 'World' ], $atts, 'hello' ); return '<p>Hello, ' . esc_html( $atts['name'] ) . '!</p>'; } add_shortcode( 'hello', 'mhp_hello_shortcode' ); // Add a custom admin notice function mhp_admin_notice() { echo '<div class="notice notice-success"> <p>My Hello Plugin is active!</p> </div>'; } add_action( 'admin_notices', 'mhp_admin_notice' );

Save this file as wp-content/plugins/my-hello-plugin/my-hello-plugin.php and activate it from the WordPress admin. Use [hello name="India"] in any post or page.

WooCommerce — WordPress E-Commerce

WooCommerce powers 28% of all online stores worldwide. Adding WooCommerce skills to your WordPress toolkit can double or triple your freelance rates. E-commerce projects in India typically pay ₹20,000–₹2,00,000+.

Core WooCommerce concepts:

  • Products — Simple, Variable, Grouped, External/Affiliate
  • Payments — Razorpay, PayU, Stripe, Cash on Delivery (India-specific)
  • Shipping — Flat rate, Free shipping, Shiprocket integration
  • WooCommerce Hookswoocommerce_before_cart, woocommerce_checkout_fields, etc.
  • REST API — manage products/orders programmatically

Popular WooCommerce plugins (India):

PluginPurposeCost
Razorpay for WooCommerceIndian payment gatewayFree
YITH WooCommerce WishlistWishlist featureFree/Paid
WooCommerce PDF InvoicesAuto-generate GST invoicesFree
ShiprocketShipping & courier integrationFree
WooCommerce SubscriptionsRecurring paymentsPaid

Salary boost: A WordPress developer with WooCommerce experience earns ₹6–18 LPA vs ₹3–10 LPA without it. Freelance WooCommerce projects start at ₹25,000 and go up to ₹5,00,000 for complex stores.

WordPress Freelancing in India

WordPress freelancing is one of the most accessible ways to earn as a developer in India. You can start earning within 1–2 months of learning, even as a student.

Where to find clients:

PlatformBest ForTypical Rate
FiverrBeginners, small gigs₹2,000–₹30,000/project
UpworkMid-level, hourly contracts$5–$25/hour
LinkedInCorporate clients, India₹20,000–₹2,00,000/project
Local businessesRestaurants, shops, clinics₹5,000–₹50,000/site
Facebook GroupsWordPress India communityVaries

Pricing guide (India, 2024):

  • Basic blog/portfolio — ₹5,000–₹15,000
  • Business website (5-10 pages) — ₹15,000–₹50,000
  • E-commerce (WooCommerce) — ₹30,000–₹2,00,000
  • Custom theme/plugin — ₹20,000–₹1,00,000
  • Monthly maintenance — ₹2,000–₹10,000/month

Proposal tips:

  • Show 3 portfolio examples relevant to the client's industry
  • Give a fixed price, not hourly — clients prefer predictability
  • Include 1 month of free support to close deals
  • Ask for 50% upfront, 50% on delivery

Portfolio advice: Build 3 free websites for local businesses (restaurant, salon, NGO) in exchange for a testimonial. These become your portfolio. Quality beats quantity — 3 great sites beat 10 mediocre ones.

WordPress Developer Interview Questions

1. What is the WordPress Loop?
The Loop is the PHP code WordPress uses to display posts. It checks if there are posts to show (have_posts()), then iterates through them (the_post()), outputting content using template tags like the_title() and the_content().
2. What is the difference between Actions and Filters?
Actions let you execute custom code at specific points (e.g., after a post is saved). They don't return a value. Filters let you modify data before it is used or displayed — they always receive a value and must return a (modified) value.
3. What is a child theme and why use it?
A child theme inherits all functionality and styling from a parent theme but lets you override specific files and styles. Use it so your customizations are not lost when the parent theme updates.
4. What is WP_Query?
WP_Query is a class that lets you create custom database queries to retrieve posts with specific criteria (post type, category, meta values, date range, etc.). It is the correct way to query posts outside the main loop.
5. How do you enqueue scripts and styles correctly?
Use wp_enqueue_script() and wp_enqueue_style() inside a function hooked to wp_enqueue_scripts. Never add scripts directly to header.php — this bypasses dependency management and causes conflicts.
6. What is the Template Hierarchy?
WordPress follows a specific order when looking for template files to render a page. For example, for a single post it checks: single-{post-type}-{slug}.phpsingle-{post-type}.phpsingle.phpsingular.phpindex.php.
7. How do you prevent SQL injection in WordPress?
Use $wpdb->prepare() for all custom database queries. Use sanitize_text_field(), esc_html(), esc_url() to sanitize and escape user input. Never concatenate user input directly into SQL queries.
8. What is the difference between get_template_part() and include?
get_template_part() is the WordPress-native way to include template files. It automatically looks in child themes first (before the parent theme), making it child-theme-compatible. Plain include does not follow this hierarchy.
Tools You Need
VS Code
Code editor
Free
XAMPP
Local server
Free
WordPress.org
CMS platform
Free
Elementor
Page builder
Free
WooCommerce
E-commerce
Free
ACF
Custom fields
Free
WP Rocket
Caching & speed
Paid
Wordfence
Security
Free
Salary Guide
Fresher (0-1 yr) ₹2.5-5 LPA
Mid (1-3 yr) ₹5-12 LPA
Senior (3-6 yr) ₹12-25 LPA
Freelance (any) ₹20K-2L/month
Pro Tips
Build real client projects — even free ones — to build your portfolio
Learn Elementor or Gutenberg blocks — most clients use page builders
WooCommerce skills double your earning potential
Specialize in a niche (real estate, restaurants, e-commerce) to charge more