Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
WordPress/Elementor plugin development
11 students

WordPress/Elementor plugin development

Learn How to Create a Custom Elementor Widget by Building a Review Widget.
Created byEugen Belousov
Last updated 1/2025
English

What you'll learn

  • Creating Custom Widget for Elementor
  • Create WordPress Plugin
  • Write with WordPress Coding Standards
  • PHP OOP
  • JS OOP
  • Integrate Swiper, Popup, Select2, Masonry JS libraries.
  • Mastering jQuery methods

Coding Exercises

This course includes our updated coding exercises so you can practice your skills as you learn.

See a demo
Image of coding exercise example

Course content

4 sections23 lectures4h 14m total length
  • Intro8:41

    The development of the Elementor plugin and its components was discussed. The main features and interface of Elementor were reviewed, including the sidebar, widgets, and settings. Special attention was given to creating custom widgets and control fields. The structure of the Elementor editor, the different types of controllers, and their application in widget development were explained.

  • Plugin Structure15:30

    The creation of a plugin for Elementor was discussed. A step-by-step development process was presented, starting from the plugin structure and ending with the creation of a basic widget. Important aspects of development were reviewed, including organizing the file structure, compatibility checks, and widget registration. Special attention was given to creating the main plugin class and implementing the Singleton pattern to manage the plugin instance.

  • Practice
  • Widget Structure9:21

    The structure and methods for working with widgets were discussed. The main methods were explained in detail, including control registration, widget data management, and rendering. Special attention was given to configuring icons, categories, and keywords. Issues of caching and dynamic content output were reviewed. The importance of proper structure for creating a functional widget with various settings for different tasks was emphasized.

  • Practice
  • register_controls()10:09

    The register_controls() method and various types of controllers in the system were discussed. A detailed analysis of the controller structure was presented, including text fields, ratings, and image galleries. Special attention was given to configuring fields for reviews, including author name, verification, date, rating, and the ability to add images. Various types of controllers, such as text, datetime, number, and gallery, were reviewed. The process of setting default values and organizing data display in the interface was also explained.

  • Practice
  • render()7:21

    The implementation of rendering data from controls was discussed. The process of configuring and displaying various elements, including text fields, dates, and images, was explained. Methods for working with templates, setting date display formats, and the process of uploading and displaying images in the gallery were reviewed. Special attention was given to dynamically updating content and properly configuring data formatting.

  • Practice
  • content_template()7:33

    content_template() handling were discussed. The focus was on using a framework that operates faster due to the absence of server requests. The advantages of the new approach compared to the render function were explained, along with a demonstration of template syntax and working with conditional constructs. Special attention was given to performance and content update speed.

  • Practice
  • Scripts & Styles6:25

    The addition and configuration of styles and scripts in the project were discussed. The focus was on the get_script_depends() method and its counterpart for styles. The process of registering styles and scripts was reviewed, troubleshooting file connection errors, and configuring display using Flexbox.

  • Icons Control8:23

    The process of adding icons through Icons Control was explained in detail, along with various control parameters, including setting descriptions, separators, and block displays. Special attention was given to uploading custom SVG icons for ratings and their proper rendering in the interface. Basic control characteristics and customization methods were reviewed.

  • Selectors9:32

    The development of a rating icon system was discussed. How to implement dynamic changes for icons based on ratings. A solution was developed using two icons: a filled and an empty one, where the filled icon adjusts its width based on the rating (e.g., 80% for 4 stars). Code examples were demonstrated, and key implementation points were explained.

  • Group Control & Responsive Control9:16

    Two types of controls were discussed: Group Control and Responsive Control. Noted that Group Control facilitates easy typography management, while Responsive Control provides flexibility in adapting the design for different devices.

  • Repeater Control8:42

    The creation of a Repeater Control for displaying multiple reviews in the widget was discussed. Covered implementation details, including working with images and setting up element displays.

  • Group_Control_Image_Size Control8:47

    The issues of styling and interface configuration for the application were discussed.  Changes in content display were discussed, including working with images and adjusting various parameters. The main focus was on improving the visual presentation of the interface.

  • Button Component6:53

    Explored the importance of buttons in the interface and the need for proper configuration, noting that buttons take up a lot of code and require special attention. Participants reviewed the use of control tabs to separate regular settings from hover effects. The creation of components for buttons and their integration into the system was also discussed. Various button settings, including colors, sizes, and hover effects, were reviewed during the discussion.

  • Rendering HTML Attributes8:13

    The focus was on creating a more flexible attribute management system that would make it easier to add and modify element settings. Various methods of rendering attributes were discussed, including the use of classes, string values, and processing methods.

  • Test1

Requirements

  • Intermediate WordPress
  • Intermediate HTML/CSS
  • Basic PHP, JS/jQuery

Description

This course is designed for developers who want to deepen their knowledge of WordPress plugin and Elementor widget development. It’s ideal for beginners who are familiar with basic WordPress concepts and want to learn how to create custom solutions, as well as more experienced developers looking to enhance their skills with popular JavaScript libraries (Swiper, Popup, Masonry).

This is the only course that provides such a broad perspective on creating a widget for Elementor. Moreover, the chosen widget for analysis is engaging and covers various aspects of development, which will help you fully immerse yourself and acquire all the necessary skills to create your own custom widget later on. The course is skillfully divided into several sections. It starts gently, drawing you into the process of creating a widget, understanding its structure, and practicing a bit of PHP to keep your skills sharp. As we pick up the pace and encounter larger chunks of code and complex functionalities, everything will still be clear, thanks to the course’s well-designed structure. It prevents you from getting stuck, and you'll easily navigate through, feeling how new knowledge opens up new horizons.

When things get too challenging, we mix PHP with JS to balance the workload and knowledge, layering them like a cake—with a cherry on top. We'll create our own Control with sophisticated JS and a complex implementation approach, but the result will be worth it. The course is also great because it teaches you to work with different libraries, opening the door to handling any documentation without problems. We’ll use Swiper.js, Masonry, Popup, Select2, and learn to write in the best Elementor style—clear, structured OOP code, following WordPress standards. Whether you apply this knowledge in freelancing, your own theme, or plugin, you'll always know that you can do it. It’s crucial for a WordPress developer to easily handle Elementor.

Are you with me?


Who this course is for:

  • If you want to get advanced skills.
  • If you want to get master skills.
  • If you want to get monster skills.