Theme Hooks

If you have been developing or customizing WordPress themes or plugins, you have heard the term Hooks. Hooks are part of the Event-driven Architecture pattern that WordPress follows to ensure the extensibility of the code. When a plugin or theme is written with hooks, it becomes extensible. Then it is possible for other developers to improve and extend them without ever editing the core source code.

There are 2 types of Hooks available in WordPress. These are:

  •          Action Hooks: This allows you to add extra functionality at a specific point in the processing of the page.
  •          Filter Hooks: This allows you to intercept and modify data as it is processed.

How it Works

Let’s see how hook works in WordPress. Let’s assume there is an action hook below single post content, titled “after_single_content”. Now if you want to display a simple marketing message below each of your posts, you have 3 options. You can edit all posts and add the marketing message, edit the single.php or add a simple function and adjoin this to the “after_single_content” hook.

Let’s see how it’s done using hook:

add_action(  'after_single_content', 'custom_mkt_message'  );

function custom_mkt_message() {
	echo "Please checkout our new product.";
}

This is the simplicity and power of using hooks. If you insert this code in a custom function plugin, you won’t have to worry about theme or plugin updates deleting your customizations.

Here is the list of Action hooks available in UM Theme.

Hook File
um_theme_before_header
header.php
um_theme_header
header.php
um_theme_after_header
header.php
um_theme_header_profile_before
core-header.php
um_theme_header_profile_after
core-header.php
um_theme_before_content
header.php
um_theme_before_site
header.php
um_theme_content_top
header.php
um_theme_single_post_before
single.php
um_theme_single_post_top
content-single.php
um_theme_single_post
content-single.php
um_theme_single_post_bottom
content-single.php
um_theme_single_post_after
single.php
um_theme_before_page_content
page.php
um_theme_page
content-page.php
um_theme_after_page_content
page.php
um_theme_before_footer
footer.php
um_theme_footer
footer.php
um_theme_after_footer
footer.php
um_theme_loop_before content.php
um_theme_loop_after content.php
um_theme_content_archive_header archive.php
um_theme_before_comments
comments.php
um_theme_after_comments
comments.php
um_theme_before_comments_title
comments.php
um_theme_after_comments_title
comments.php