As you explore, you will understand that the roles of plugins may vary from one another. So, it's important to identify these different types of plugins in order to face the challenges in extending different WordPress modules. Here, we are going to choose some of the popular plugins of different plugin types and discuss how they interact with WordPress's frontend and backend. This is purely a personal preference and hence you may want to categorize them differently after exploring the plugin directory:
- Yoast SEO (https://wordpress.org/plugins/wordpress-seo/): This plugin is used to improve the SEO of the site by adding necessary content to pages. This type of plugin has interfaces in the backend, where we can add content or settings. However, these plugins work under the hood in the frontend as we can't see any content. The examples for this type includes plugins from caching, analytics, and translation categories.
- WordPress Importer (https://wordpress.org/plugins/wordpress-importer/): This plugin imports data into the WordPress database from files. These types of plugins don't have any features in the frontend or backend interfaces. Instead, these plugins are used to provide functionality by changing database values. The examples for these types of plugins include Duplicate Post and All-in-One WP Migration.
- WooCommerce (https://wordpress.org/plugins/woocommerce/): This plugin is used to simplify the online shopping process by creating and selling products. These types of plugins have interfaces in the backend to add content as well as interfaces in the frontend to display the content. Apart from that, these plugins contain extensive data processing. This is the most common type of plugin you will get for development tasks. The examples for this type of plugin include BuddyPress and bbPress.
- Meta Slider (https://wordpress.org/plugins/ml-slider/): This plugin adds elegant image sliders to the frontend of the site. These types of plugins have backend interfaces for adding content and frontend interfaces for displaying the content inside modern UI elements. However, no data processing is involved. The examples for this type of plugin include Easy FancyBox and Max Mega Menu.
- Admin Menu Editor (https://wordpress.org/plugins/admin-menu-editor/): This plugin allows you to change the menus and the related settings. These types of plugins allow you to add, change, and remove built-in backend features to suit your needs. There is no interaction with the frontend or data in such plugins. The examples for this type of plugin include Admin Columns and Simple Page Ordering.
- Easy Google Fonts (https://wordpress.org/plugins/easy-google-fonts/): This plugin allows you to use Google Fonts for the content of the site. These types of plugins often don't have functionality related to the backend or frontend. Instead, they connect third-party services with WordPress. The examples for this type of plugin include AddToAny Share Buttons and Google Doc Embedder.
- Advanced Custom Fields (https://wordpress.org/plugins/advanced-custom-fields/ ): This plugin acts as a framework, letting developers and clients build forms using existing components. These types of plugins interacts with both the backend and the frontend. However, these plugins don't provide site-specific features. Instead, the administrator decides which elements are displayed to the user and how the data is processed. Examples of such plugins include Elementor Page Builder and Pods Custom Content Types and Fields.
The types of plugins we can build is enormous and can't be covered here, even if we were to have a complete chapter dedicated to them. Therefore, we have chosen a few plugins that contain the most popular types of development tasks.