Table of contents
1.
Introduction
2.
Hooks 
3.
Types of hooks
3.1.
Action 
3.2.
Filters 
4.
How to add or remove Functions
4.1.
How to hook to an action
4.2.
How to unhook Actions and Filters
5.
Creating a CALLBACK function for action for WordPress hooks
5.1.
Creating an add_filter function for WordPress hooks
6.
Frequently Asked Questions
6.1.
What is the difference between an action hook and a filter hook?
6.2.
What is a WordPress callback?
6.3.
How do I execute a query in WordPress?
7.
Conclusion
Last Updated: Mar 27, 2024
Easy

WordPress hooks

Author Ashish Sharma
0 upvote
Career growth poll
Do you think IIT Guwahati certified course can help you in your career?

Introduction

In this article, we will learn about WordPress hooks, types of hooks, the purpose of hooks, and how to use WordPress hooks. We will start with a brief introduction to hooks. Hooks are a feature that you can apply to WordPress actions or filters. WordPress actions and filters feature that theme and plugin developers can change the default WordPress functionality.

                                     

                                                                                        Source

Hooks 

A Hook refers to places where you can add your code, change what WordPress is doing, or give output by the default. Hooks are a way for one code to interact/modify with another at a particular predefined location. These form the basis of how plugins and themes interact with WordPress Core, but they are also widely used by Core itself.

There are two types of hooks that exist in WordPress: actions and filters. 

Types of hooks

Action 

The action allows you to add data or change how WordPress operates. It will run at a specific point in the execution of WordPress Core, plugins, and themes. Callback functions for Actions can perform a task, like echoing output to the user or inserting something into the database. The Callback functions for an Action do not return anything to the call-action hooks.

Filters 

The filter allows you to change data while executing WordPress Core, plugins, and themes. The Callback functions for Filters will accept a variable, modify it, and return it. Using filters and actions together gives developers the flexibility to change the default WordPress filters and actions, and even create their own custom filters and actions to allow other developers to extend plugins and themes.

Filters are different from actions. WordPress actions are performed on events such as themes and plugins being activated, posts published, and so on. Filters are used to filter the output when it is sent to the database or the user's browser.

                  

How to add or remove Functions

Suppose you want to hook in your functions. Firstly, you need to know some piece of information. For the actions, you have to know the name of the hook, as well as when exactly it runs. 

For filters, you have to know about the hook's name, but you want to know what value you will get and have to return. The final information you need is the function's name, where it has all the codes.

How to hook to an action

add_action ($ hook, $ function_to_add, $ priority, $ accepted_args);

 

The required parameters for the add_action function are the hook and the function. Priority is an optional integer value based on a scale from 1 to 999 that sets the ordering priority of the function bound to that particular hook. A high priority means that it will be executed later. The lower the priority faster the execution. The last parameter is used infrequently and is used when multiple arguments need to be passed or accepted. 

add_filter ($ tag, $ function_to_add, $ priority, $ accepted_args); 

 

add_filter works the same as add_action. Note that hooks can exist as actions and filters, or as filters and functions. You can see the actual difference from the actual function. Note that for a filter, function_to_add should take a value and return it at the end of the function. Actions, on the other hand, only execute the required code and do not return a value.

How to unhook Actions and Filters

It's easy to unhook. Use the remove_action or remove_filter function with the hook name, function, and priority. Priority is optional and is useful when you need to unhook a function that has been hooked multiple times, and you only need to remove certain occurrences of that function.

 

remove_action ($ tag, $ function_to_remove, $ priority);
remove_filter ($ tag, $ function_to_remove, $ priority);
Example of  WordPress hooks 
function wpb_custom_excerpt( $output ) {
  if ( has_excerpt() && ! is_attachment() ) {
    $output .= wpb_continue_reading_link();
  }
  return $output;
}
add_filter( 'get_the_excerpt', 'wpb_custom_excerpt' );

Creating a CALLBACK function for action for WordPress hooks

Firstly we will create a callback function. The callback function will run when the action related to it is hooked to run. The callback function is like a normal function: it should be prefixed and in functions.php or somewhere callable. The parameters that it should accept will be defined by the action you are hooking to; most hooks are well defined.

Secondly, you have to add a callback function to the action. It is called hooking and tells that action to run your callback function when the action is run.

When the callback function is ready, it uses add_action() to hook it to the action which we have selected. 

add_action() wants two parameters:

  1. string $hook_name is the name of the action you're hooking to, and
  2. callable $callback, the name of your callback function.

in the below example, wporg_callback() function is executed:

function wporg_callback() {
    // do something
}
add_action( 'init', 'wporg_callback' );

Creating an add_filter function for WordPress hooks

Adding a filter involves two steps.

  • First, we need to create a callback function that will be called when the filter runs. 
  • Next, we need to add a callback function to the hook that makes the function call.
  • Use the add_filter () function to pass a minimum of two parameters.
  • String $ hook_name is the name of the attached filter, and callable $ callback is the callback function's name.
  • The following example runs when the _title filter is run.
     
function wporg_filter_title ($ title) {
Returns 'The'. $ title. 'Filtered';
}
add_filter ('the_title', 'wporg_filter_title');

Frequently Asked Questions

What is the difference between an action hook and a filter hook?

The main difference between action hooks and filter hooks is that action hooks are always rough. A WordPress action means to execute in response to a WordPress event and does not require any kind of data. The filter hook still needs data.

What is a WordPress callback?

It provides a way to execute a function at a specific point in executing a WordPress core, plugin, or theme. The action's callback function returns nothing to the calling action hook. They are the opposite of filters.

How do I execute a query in WordPress?

To execute a query in WordPress run the below codes:

Global $ wpdb;
$ result = $ wpdb> get_results ("SELECT * FROM wp_usermeta WHERE meta_key ='points' AND user_id = '1'");
print_r ($ result);

Conclusion

In this article, we have extensively discussed the introduction to WordPress hooks, the types of hooks, how to add or remove functions, examples of hooks, creating a callback, and add_filter functions for hooks. 

After reading about WordPress hooks, are you not feeling excited to read/explore more articles on the topic of file systems? Don't worry; Coding Ninjas has you covered. To learn, see the introduction to AWSglobal infrastructure concepts in AWSOperating SystemUnix File SystemFile System Routing, and File Input/Output.

Refer to our Guided Path on Coding Ninjas Studio to upskill yourself in Data Structures and AlgorithmsCompetitive ProgrammingJavaScriptSystem Design, and many more! If you want to test your competency in coding, you may check out the mock test series and participate in the contests hosted on Coding Ninjas Studio! But suppose you have just started your learning process and are looking for questions asked by tech giants like Amazon, Microsoft, Uber, etc. In that case, you must look at the problemsinterview experiences, and interview bundle for placement preparations.

Nevertheless, you may consider our paid courses to give your career an edge over others!

Do upvote our blogs if you find them helpful and engaging!

Happy Learning!

Live masterclass