120-Day WordPress + Elementor Front-End Study Plan
Phase 1: Foundations (Days 1–30)
Day 1: Install WordPress Locally & Explore File Structure
Define Goal: Set up a local server environment to develop without hosting costs, and understand the core WordPress directory structure so you know where themes, plugins, and core files live.
Instructions:
- Download and install Local by Flywheel (LocalWP) or XAMPP. LocalWP is the modern developer standard.
- Create a new local site (e.g., elementor-study.local).
- Open your computer's file explorer and navigate to the site's root folder.
- Locate the wp-content folder. This is the only folder you will modify as a front-end developer. Inside, identify the /themes, /plugins, and /uploads directories.
Day 2: Install Elementor + Elementor Pro & Navigate the Interface
Define Goal: Activate your visual page builder and familiarize yourself with the Elementor Editor UI, specifically the Widget Panel, the Canvas, and the Navigator tree (which functions like a visual DOM tree).
Instructions:
- Log into your WordPress admin dashboard (/wp-admin).
- Go to Plugins > Add New, search for "Elementor", install, and activate it.
- Upload and activate your Elementor Pro zip file (if you have the license).
- Create a new Page and click Edit with Elementor.
- Open the Navigator (Cmd/Ctrl + I). Pin it to the side of your screen; you will use this constantly to manage your HTML structure.
Day 3: Create First Page with Sections & Columns (Containers)
Define Goal: Understand layout hierarchy. Note: Modern Elementor uses Flexbox Containers instead of Sections/Columns. You will learn to control flex-direction, alignment, and justification.
Instructions:
- In the Elementor editor, click the + icon to add a new Container.
- Set the Container's direction to "Row" (horizontal) or "Column" (vertical).
- Nest two smaller containers inside the main one to create a 2-column layout.
- Experiment with the "Justify Content" and "Align Items" settings to see how elements position themselves inside the flexbox.
Day 4–5: Add Widgets (Heading, Text, Image, Button)
Define Goal: Practice injecting content into your layout structure and manipulating widget-level settings.
Instructions:
- Drag a Heading widget into your first container. Change the HTML tag to H1 for SEO semantics.
- Drag a Text Editor widget below it for a paragraph.
- Drag an Image widget into your second container. Upload a placeholder image.
- Drag a Button widget below the text. Link it to # (a placeholder anchor).
Day 6: Explore Global Settings (Fonts & Colors)
Define Goal: Establish a design system. Setting CSS variables globally prevents you from manually styling individual widgets, ensuring brand consistency and cleaner code.
Instructions:
- In the Elementor Editor, click the hamburger menu (top left) and select Site Settings.
- Go to Global Colors. Define your Primary, Secondary, Text, and Accent colors.
- Go to Global Fonts. Define your typography hierarchy (H1-H6, body text).
- Apply these globals to your widgets by clicking the "globe" icon next to color/typography settings instead of picking custom values.
Day 7–10: Build a 3-Page Static Site (Home, About, Contact)
Define Goal: Synthesize your layout and widget skills to build a complete, linked static website.
Instructions:
- Draft wireframes on paper for your Home, About, and Contact pages.
- Build the Home page using a hero section, a features section, and a call-to-action.
- Build the About page using image/text alternating containers and an image gallery.
- Build the Contact page with static text (address, email) and a placeholder for a form.
- Publish all three pages and ensure they exist in your WordPress Pages list.
Day 11: Learn Theme Builder Overview
Define Goal: Understand the concept of "Templates." Instead of designing a header on every page, you design one header template that WordPress dynamically injects across the site.
Instructions:
- Go to Templates > Theme Builder in the WordPress dashboard.
- Review the available template types: Header, Footer, Single Post, Archive, etc.
- Understand the concept of Display Conditions (rules that tell WordPress where to inject the template).
Day 12–15: Create Custom Header + Footer Templates
Define Goal: Replace the default WordPress theme header/footer with a custom, globally managed Elementor layout.
Instructions:
- In Theme Builder, add a new Header template.
- Add a Site Logo widget and a Nav Menu widget. Align them using Flexbox (Space Between).
- Publish and set the Display Condition to Entire Site.
- Repeat the process for a Footer template, including copyright text and secondary links.
- Visit your live site to verify the header and footer appear on all 3 of your static pages.
Day 16: Explore Responsive Design (Mobile/Tablet)
Define Goal: Learn to write media queries visually. Ensure your DOM structure adapts gracefully to smaller viewport sizes.
Instructions:
- Open a page in Elementor and click the Responsive Mode icon (bottom bar).
- Switch to Tablet and Mobile views.
- Adjust font sizes and container widths. Look for the viewport icon next to a setting—this means your change only applies to that device size (and smaller).
- Change a row container's flex direction to "Column" on mobile so elements stack vertically.
Day 17–20: Practice Styling Sections with Padding & Margins
Define Goal: Master the CSS Box Model (Content, Padding, Border, Margin) within Elementor's UI to create visual breathing room.
Instructions:
- Open the Advanced tab of any widget or container.
- Unlink the padding/margin values.
- Add internal space (Padding) to Containers so content doesn't touch the edges (e.g., 5% top and bottom padding).
- Add external space (Margin) between separate containers to push them apart.
Day 21: Learn WordPress Themes (Parent vs. Child Themes)
Define Goal: Understand the separation of structure (Theme) and design (Elementor). Learn why child themes protect custom code from being overwritten during updates.
Instructions:
- Install and activate the Hello Elementor theme (a lightweight, bare-bones theme perfect for page builders).
- Read the WordPress Codex documentation on Child Themes.
- Understand that Elementor replaces the visual need for a heavy theme, so a "blank canvas" theme is best for performance.
Day 22–25: Create a Child Theme & Modify CSS
Define Goal: Learn to write raw CSS and enqueue styles manually to bypass Elementor's UI when necessary.
Instructions:
- Create a folder in wp-content/themes named hello-elementor-child.
- Create a style.css file with the required WordPress theme header comment.
- Create a functions.php file and write the PHP script to enqueue the parent theme's styles.
- Activate the Child Theme in WordPress. Write a custom CSS rule in your style.css (e.g., body { background-color: #fafafa; }) and verify it loads.
Day 26–28: Explore WordPress Plugins & Install SEO Plugin
Define Goal: Extend WordPress core functionality safely. Understand how SEO meta tags are injected into the <head> of your document.
Instructions:
- Install and activate an SEO plugin like Yoast SEO or RankMath.
- Go to your Home page, scroll down to the SEO meta box.
- Define the Meta Title and Meta Description.
- Inspect the front end of your site (Right Click > Inspect) and locate your newly injected <title> and <meta name="description"> tags in the <head>.
Day 29: Learn WordPress Settings (Permalinks, Reading, Discussion)
Define Goal: Configure the core server-side routing and display settings of your WordPress instance.
Instructions:
- Go to Settings > Permalinks and change the structure to "Post name" (crucial for clean, readable URLs).
- Go to Settings > Reading and set your Homepage to the static Home page you built, and your Posts page to a new empty "Blog" page.
- Go to Settings > Discussion and disable comments globally if you don't want them.
Day 30: Review Phase 1 (Deliverable)
Define Goal: Compile all learned skills into a finalized Phase 1 project.
Instructions:
- Audit your 3-page site.
- Check that the custom Header and Footer are active.
- Test all buttons and links.
- Resize your browser window to test mobile responsiveness.
Phase 2: Intermediate Skills (Days 31–60)
Day 31: Learn Single Post Templates
Define Goal: Grasp dynamic content routing. Build a master layout that automatically populates with data from the WordPress database whenever a new blog post is published.
Instructions:
- Create 3 dummy blog posts in the WordPress backend with Featured Images and excerpts.
- Go to Theme Builder > Single Post and create a new template.
- Drag in dynamic widgets: Post Title, Post Info (author/date), Featured Image, and Post Content.
- Set Display Conditions to "Include: All Posts". Check your dummy posts to see them using the new layout.
Day 32–35: Create Archive Templates
Define Goal: Design the "loop" page (the index) that dynamically queries and lists all your published blog posts.
Instructions:
- Go to Theme Builder > Archive.
- Drag in the Archive Title widget and the Posts widget.
- Style the Posts widget to display as a 3-column grid, showing the image, title, and excerpt.
- Set Display Conditions to "Include: All Archives".
Day 36: Explore Custom Fields with ACF Plugin
Define Goal: Break out of standard WordPress fields (Title/Content) and create custom database fields for specific content types.
Instructions:
- Install and activate the Advanced Custom Fields (ACF) plugin.
- Create a new Field Group called "Book Reviews".
- Add custom fields: "Author" (Text), "Rating out of 5" (Number), and "Buy Link" (URL).
- Set the Location Rules to show this field group only on standard Posts. Fill out this data in your dummy posts.
Day 37–40: Display Custom Fields in Templates
Define Goal: Connect the backend database queries from ACF to your front-end Elementor templates using Dynamic Tags.
Instructions:
- Open your Single Post Template in Elementor.
- Drag in a Heading widget. Instead of typing text, click the Dynamic Tags icon (the stack of coins) inside the text field.
- Scroll down to "ACF Field" and select the "Author" field you created.
- Repeat for the Rating and Buy Link. Style these elements so they look native to the layout.
Day 41: Learn Form Widget & Build Contact Form
Define Goal: Capture user input securely using Elementor Pro's native Form widget.
Instructions:
- Open your Contact page in Elementor.
- Drag in the Form widget.
- Configure the fields: Name (Text), Email (Email), Subject (Text), and Message (Textarea).
- Mark Name and Email as "Required".
Day 42–45: Connect Form to Email & Add Validation
Define Goal: Handle form submission protocols and server-to-email routing.
Instructions:
- Click on your Form widget and go to the Actions After Submit tab.
- Ensure "Email" is selected.
- Open the Email dropdown. Set the "To" address to your testing email.
- Use Form Field Shortcodes (e.g., [field id="name"]) in the message body to format how the email arrives in your inbox.
- Test the form on the front end to ensure it triggers and delivers.
Day 46: Explore Popup Builder (Newsletter Popup)
Define Goal: Learn overlay mechanics and user-triggered conditional rendering.
Instructions:
- Go to Templates > Popups and create a new popup.
- Design a small container with a heading, text, and a simple Email capture form.
- Click Publish. Set the Condition to "Entire Site".
- Set the Trigger to "On Page Load" (wait 5 seconds) or "On Scroll" (after 50% scrolled).
Day 47–50: Add Motion Effects (Scroll Animations)
Define Goal: Implement CSS transitions and transform properties via Elementor's UI to enhance user engagement.
Instructions:
- Select an Image or Container on your homepage.
- Go to Advanced > Motion Effects.
- Enable Scrolling Effects.
- Apply a subtle "Vertical Scroll" (parallax) or "Fade In Up" entrance animation. Keep it subtle—over-animating causes performance and accessibility issues.
Day 51: Learn CSS Customization within Widgets
Define Goal: Override native Elementor wrappers by writing localized CSS targeting specific widgets.
Instructions:
- Select a widget (e.g., a Heading).
- Go to Advanced > Custom CSS.
- Write a rule using the selector keyword (which scopes the CSS to that specific widget). Example:
selector h2 { text-shadow: 2px 2px 4px rgba(0,0,0,0.2); }
Day 52–55: Practice Styling Buttons with CSS
Define Goal: Master pseudo-classes (:hover, :active, :focus) via custom CSS.
Instructions:
- Add a Button widget to your page.
- In the Custom CSS tab, write a localized hover effect that Elementor doesn't natively support, such as a gradient background animation or a 3D box-shadow push effect.
CSS
selector .elementor-button:hover {
transform: translateY(-3px);
box-shadow: 0 5px 15px rgba(0,0,0,0.3);
}
Day 56: Explore JavaScript Integration (Toggle Menu)
Define Goal: Inject custom DOM manipulation scripts to handle interactivity that CSS cannot achieve alone.
Instructions:
- Drag an HTML Widget onto your page.
- Write a simple <script> tag inside.
- Create a basic JavaScript function that listens for a click event on a specific button (using its CSS ID) and toggles a CSS class (like .hidden) on another container.
Day 57–59: Display API Data Using the HTML Widget
Define Goal: Understand asynchronous JavaScript (Fetch API) to pull external data into your WordPress site.
Instructions:
- Find a free public API (like the JSONPlaceholder or a random quote generator).
- In an HTML widget, write a <script> that uses fetch() to call the API.
- Parse the JSON response and append it to a specific <div> inside your HTML widget using document.getElementById().innerHTML.
Day 60: Review Phase 2 (Deliverable)
Define Goal: Confirm your mastery of dynamic WordPress routing and basic coding integrations.
Instructions:
- Audit your site: Ensure the Blog loop works, click into a single post to verify ACF data displays, and test the Contact Form.
- Check your browser console (F12) for any JavaScript errors from your custom scripts.
- Verify that your newsletter popup triggers according to the rules you set.
Phase 3: Advanced Development (Days 61–90)
Day 61: Install WooCommerce & Understand Product Types
Define Goal: Transform WordPress from a standard CMS into an e-commerce platform. Understand the database architecture WooCommerce uses to store products (Custom Post Types) and variants.
Instructions:
- Install and activate the WooCommerce plugin from the repository.
- Run the setup wizard to configure store location and currency.
- Go to Products > Add New.
- Create one of each product type: Simple Product (a standard item), Variable Product (e.g., a shirt with size/color attributes), and a Digital/Downloadable product.
Day 62–65: Create Single Product Templates
Define Goal: Override the default WooCommerce product page layout using Elementor Theme Builder to create a high-converting, brand-specific UI.
Instructions:
- Go to Templates > Theme Builder > Single Product and create a new template.
- Drag in essential dynamic WooCommerce widgets: Product Title, Product Images (gallery), Product Price, Add to Cart, and Product Description.
- Use Flexbox containers to arrange the image gallery on the left and the purchase data/buttons on the right.
- Set Display Conditions to "Include: Products" and check it on the front end against the dummy products you made.
Day 66–70: Build Shop Archive Templates
Define Goal: Design the primary storefront (the shop index) and category pages to cleanly display the product grid.
Instructions:
- Go to Theme Builder > Products Archive.
- Add the Archive Title widget and the Products widget.
- Configure the Products widget to show 3 or 4 columns. Style the product cards (typography, hover effects on the product image, and "Add to Cart" button styling).
- Set the condition to "Include: All Product Archives".
Day 71: Customize Cart + Checkout Flow
Define Goal: Reduce friction in the user journey by styling the cart and checkout pages, which are notoriously clunky in default WooCommerce.
Instructions:
- Open your default Cart page in Elementor. Delete the standard WooCommerce shortcode.
- Drag in the Elementor Cart widget. Style the typography, table borders, and checkout buttons to match your global design system.
- Repeat this process on the Checkout page using the Elementor Checkout widget. Customize the input fields to match your Phase 2 contact forms.
Day 72–75: Add Coupons & Shipping Rules
Define Goal: Configure the server-side business logic that dictates cart totals, taxes, and discounts.
Instructions:
- Go to Marketing > Coupons. Create a test coupon (e.g., 20% off) and set usage restrictions.
- Go to WooCommerce > Settings > Shipping. Create a Shipping Zone for your country.
- Add shipping methods to that zone (e.g., Flat Rate of $10, and Free Shipping if the order is over $50).
- Test the cart on the front end to verify the logic correctly calculates totals.
Day 76: Learn Global Widgets & Save Reusable Sections
Define Goal: Embrace the DRY (Don't Repeat Yourself) principle in UI design. Save components globally so editing them once updates them everywhere.
Instructions:
- Identify a section you use frequently, like a "Call to Action" banner.
- Right-click the container handle and select Save as Template.
- To create a Global Widget (e.g., a specific stylized button), right-click the widget and select Save as a Global.
- Insert this global widget on multiple pages. Edit it once and watch it propagate across the site.
Day 77–80: Practice Exporting/Importing Templates
Define Goal: Learn how to migrate layout structures as JSON files, allowing you to move work between different local environments or servers.
Instructions:
- Go to Templates > Saved Templates.
- Select several templates (e.g., your Header, Footer, and Single Post) and click Export.
- Delete one of your saved templates.
- Use the Import Templates button at the top of the screen to upload the JSON file and restore it.
Day 81: Explore Advanced Responsive & Custom Breakpoints
Define Goal: Go beyond the standard Mobile/Tablet views and introduce widescreen or specific device breakpoints to handle complex fluid typography and flex wrapping.
Instructions:
- Go to Elementor > Settings > Features and ensure "Additional Custom Breakpoints" is active.
- Open the Editor, go to Site Settings > Layout > Breakpoints.
- Add breakpoints for "Mobile Extra" (landscape) and "Widescreen" (large monitors).
- Audit your single product page across all 5 breakpoints, adjusting flex directions and widths.
Day 82–85: Optimize WooCommerce Store for Conversions
Define Goal: Implement UI/UX patterns that drive sales, such as sticky add-to-cart bars, trust badges, and cross-sells.
Instructions:
- Edit your Single Product template. Add an Elementor Upsell widget beneath the main product details.
- Create a small Container with payment provider icons (Trust Badges) beneath the Add to Cart button.
- Go to WooCommerce product data in the backend and link a few "Cross-sell" products, then verify they render dynamically on the cart page.
Day 86: Learn WordPress Security (Install Security Plugin)
Define Goal: Harden your application against brute-force attacks and common vulnerabilities.
Instructions:
- Install a security plugin like Wordfence or Solid Security.
- Run an initial scan.
- Enable Two-Factor Authentication (2FA) for admin accounts.
- Configure login lockout limits (e.g., ban IP after 5 failed login attempts).
Day 87–88: Practice Backups & Updates
Define Goal: Establish a fail-safe disaster recovery plan before doing any major version updates.
Instructions:
- Install a backup plugin like UpdraftPlus.
- Run a full manual backup of your Database and Files.
- Safely update your WordPress core, Elementor plugins, and theme to their latest versions.
- Restore your database from the backup to prove you know how to recover from a broken state.
Day 89: Explore WordPress Performance & Optimize Caching
Define Goal: Improve Time to First Byte (TTFB) and core web vitals by serving static HTML files instead of querying the database on every page load.
Instructions:
- Install a caching plugin like LiteSpeed Cache or WP Rocket.
- Enable Page Caching and Browser Caching.
- Enable CSS/JS minification (stripping whitespace from code).
- Run your site through Google PageSpeed Insights or GTmetrix and compare the before/after scores.
Day 90: Review Phase 3 (Deliverable)
Define Goal: Ensure the complete e-commerce pipeline functions perfectly from entry to checkout.
Instructions:
- Open an incognito browser window.
- Browse your shop, filter a product, add it to the cart, apply a coupon, and proceed to checkout.
- Verify that all security, caching, and responsive layouts hold up under testing.
Phase 4: Mastery & Professional Workflow (Days 91–120)
Day 91: Learn Version Control & Template Revisions
Define Goal: Protect your design iterations. Understand how WordPress stores autosaves and how to roll back mistakes.
Instructions:
- Open a complex page in Elementor and delete a crucial section. Save the page.
- Click the History icon (bottom toolbar) and go to the Revisions tab.
- Identify the previous save state and click it to revert the DOM structure.
- Understand that revisions bloat the database over time; look into database optimization plugins to clean old revisions.
Day 92–95: Explore Git for WordPress Projects
Define Goal: Apply modern software development practices by tracking file changes (Child Theme, custom plugins) in a repository.
Instructions:
- Initialize a Git repository inside your wp-content folder (ignore core files and uploads via .gitignore).
- Create a GitHub account and push your custom child theme or code snippets to a remote repo.
- Make a CSS change in your child theme, stage the commit, and push it to track your development history.
Day 96: Learn Collaboration & Share Templates
Define Goal: Handle asset handoffs in a team environment safely without overwriting other developers' work.
Instructions:
- Use Elementor's Role Manager (Elementor > Role Manager) to restrict access. Set "Editor" roles to only edit content, not layout structures.
- Export a specific section as a JSON file and mock an exchange by importing it into a completely fresh page to verify styling dependencies remain intact.
Day 97–100: Conduct Accessibility Audit (WCAG Compliance)
Define Goal: Ensure the DOM is readable by screen readers and navigable via keyboard, adhering to basic WCAG standards.
Instructions:
- Navigate your live site using only the "Tab" key. Check if focus states are visible on links and buttons.
- Run a free tool like WAVE or axe DevTools (browser extensions) on your homepage.
- Fix contrast ratio issues, ensure all images have descriptive alt attributes, and verify heading tags strictly follow sequential order (H1 -> H2 -> H3).
Day 101: Learn Testing Across Browsers & Devices
Define Goal: Identify rendering inconsistencies across different rendering engines (WebKit, Blink, Gecko).
Instructions:
- Open your site in Chrome, Firefox, and Safari (or a simulator if you don't own a Mac).
- Look for flexbox alignment issues or broken SVG sizes, which often render differently in Safari.
- Write a browser-specific CSS fallback if necessary.
Day 102–105: Optimize SEO with Yoast Plugin
Define Goal: Move beyond basic meta tags and optimize structured data and site architecture for search engine crawlers.
Instructions:
- Use the Yoast SEO plugin to generate an XML Sitemap.
- Configure Open Graph (OG) tags so that when a product is shared on social media, the correct image and title appear.
- Ensure custom post types (like your WooCommerce products) are correctly indexed in the sitemap settings.
Day 106: Explore Hosting & Deploy Site with SSL
Define Goal: Migrate your local development database and files to a live production server.
Instructions:
- Purchase a basic cloud hosting plan (e.g., Cloudways, SiteGround, or Hostinger).
- Install a migration plugin like All-in-One WP Migration on your local site and export the .wpress package.
- Install a fresh WordPress instance on your live host, upload the package, and restore.
- Provision a free Let's Encrypt SSL certificate in your hosting dashboard and force HTTPS.
Day 107–110: Practice Multisite Management
Define Goal: Understand network administration for managing multiple sites under one WordPress installation.
Instructions:
- Edit your local wp-config.php to enable multisite (define( 'WP_ALLOW_MULTISITE', true );).
- Follow the WordPress network setup instructions to create a sub-directory network.
- Understand how themes and plugins are activated globally on the network versus individually on sub-sites.
Day 111: Learn API Integrations (Mailchimp/Zapier)
Define Goal: Connect your WordPress application to third-party SaaS tools via REST APIs and Webhooks.
Instructions:
- Create a free Mailchimp account and generate an API key.
- Go to Elementor > Settings > Integrations and paste the API key.
- Open your newsletter popup, change the Form Action to "Mailchimp," and map the Email field to your Mailchimp audience list. Submit a test email and verify it appears in Mailchimp.
Day 112–115: Build a Portfolio Site with Elementor Pro
Define Goal: Package your skills into a personal brand site that proves your capability as a developer.
Instructions:
- Create a new WordPress installation (or a sub-site if using multisite).
- Build a custom archive loop to showcase projects as a "Portfolio" Custom Post Type.
- Implement advanced motion effects and strict CSS styling to ensure the site loads blazingly fast and looks highly professional.
Day 116–118: Conduct Usability Testing
Define Goal: Gather qualitative data on user friction points.
Instructions:
- Ask a friend or colleague to complete three tasks on your live e-commerce site (e.g., "Find the contact page," "Buy the red shirt," "Sign up for the newsletter").
- Observe without helping. Take notes on where they hesitate or click the wrong thing.
- Revise your UI based on their behavior.
Day 119: Final Polish (Performance & Responsive Fixes)
Define Goal: Perform the final QA (Quality Assurance) sweep before client handoff or portfolio publishing.
Instructions:
- Clear all caches (server, plugin, CDN).
- Re-run PageSpeed Insights. Compress any newly uploaded images that are too large using a plugin like Smush or WebP Express.
- Check all links for 404 errors.
Day 120: Final Project Showcase
Define Goal: Deliver the ultimate full-stack WordPress project that proves your capabilities.
Instructions:
- Ensure your final deployed site includes: a functioning blog using custom loops, a WooCommerce storefront with a working cart flow, dynamic content via ACF, optimized caching, basic WCAG compliance, and an active SSL.
- Document your build process in a short case study on your portfolio site, detailing the problems you solved and the tech stack you used.
Comments
Post a Comment