
This course includes our updated coding exercises so you can practice your skills as you learn.
See a demo
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
The implementation of a new pagination feature on the website was discussed. The focus was on creating a system that would show a specific number of items on the page and add a button for loading additional items.
Aspects of applying JavaScript in Elementor were discussed. The possibilities of extending functionality through JavaScript were explored, including working with interface elements and configuring event handlers. The main methods of the widget class and the structure of selector configuration were reviewed.
Covered the creation of a rating box. The process of implementing functionality using JavaScript was demonstrated, including event handling.
The integration of the Magnific Popup library for creating popup was discussed. Considered selecting a lightweight library (21 KB) to ensure minimal impact on performance.
The implementation of a slider functionality (Swiper.js) for displaying images and AJAX requests to fetch data from the server. The primary focus was on creating the HTML structure for the slider, along with configuring the styles and functionality.
The implementation of a sorting function, included handling events, and updating the DOM.
Integrating WooCommerce products into the review system.
The addition of a new type of control, including its registration, the use of the Select2 library for autocomplete functionality, and the implementation of AJAX requests. Reviewed the control creation process, outlining the methods and functions essential for its operation, as well as strategies to optimize data loading and reduce the strain on the database.
The implementation of the Masonry library, explored various aspects of configuring and using this library, which included integrating it with existing site elements. The focus was primarily on enabling the functionality to switch between display modes (Grid and Masonry), determining the number of columns, and adapting styles for proper element display.
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?