WordPress filters are hooks that accept a single variable or a series of variables, and then sends them back after they’ve been modified. In a nutshell, filters let you change the content that is displayed to users. WordPress filters are created using the apply_filters function, and are defined inside of that function. They require the $tag (the filter name) and $value (the filtered value or variable) arguments, with the option of using $var for extra function values.
Shortcodes
Put simply, shortcodes are user-facing bits of code that give users a quick and easy way to create and display custom functionality to their sites’ visitors. Shortcodes can be placed in posts and pages via the editor, in menus and widgets, and so on. Many plugins make use of shortcodes. You can create your own shortcode by using the add_shortcode function. The name of your shortcode will be the first variable, and the second variable will be the output function. The output function consists of three values: attributes, content, and name.
Widgets
Another way to enable plugin functionality through a simple interface is by using WordPress widgets. You can create a widget by extending the WP_Widget class. WordPress uses an object-oriented design approach to widgets, meaning that the functions and values are stored in the single entity of a class.