In WordPress, hooks play a central role in the customization and extension of functionality without direct changes to the core code. There are two types of hooks: action hooks and filter hooks. Both allow developers to add custom functions at specific times or places in the WordPress process or to modify existing functions.
Action Hooks #
An action hook allows you to execute custom functions at specific points in the WordPress lifecycle. This means that you can “hook” a function that is called when this specific point is reached.
Example of an action hook #
function meine_custom_action() { echo '<p>Hallo, dies ist eine benutzerdefinierte Nachricht!</p>'; } add_action('wp_footer', 'meine_custom_action');
In this example, we use the wp_footer
action hook.
This hook is executed just before the HTML tag </body>
is rendered in the page.
The meine_custom_action
function adds a user-defined message in the footer of the page.
Important action hooks in WordPress #
wp_head
Is called up in the<head>
area of the theme.wp_footer
Is executed in the<footer>
area of the page.init
Is triggered with every request in WordPress. Often used to register custom post types or taxonomies.admin_init
Is triggered during the initialization of the admin panel.
Filter Hooks #
A filter hook makes it possible to change data before it is output or further processed by WordPress. With filter hooks, you can dynamically adjust the content of texts, titles, metadata, etc.
Example of a filter hook #
function meine_custom_title_filter($title) { return $title . ' - Anpassung durch Filter'; } add_filter('the_title', 'meine_custom_title_filter');
In this example, we use the the_title
filter hook.
This hook makes it possible to change the page title before it is displayed on the page.
The meine_custom_title_filter
function adds the text - Anpassung durch Filter
to the original title.
Important filter hooks in WordPress #
the_content
: Changes the content of a post or page.the_excerpt
Is applied to the excerpt of a contribution.the_title
: Changes the title of a post or page.wp_nav_menu_items
Allows you to customize the menu items before output.
How to use action and filter hooks #
Registering a function with a hook: For both actions and filters, you use the WordPress functions add_action()
and add_filter()
to register your user-defined functions.
add_action('hook_name', 'deine_funktion'); add_filter('hook_name', 'deine_funktion');
Arguments and priority: Both add_action()
and add_filter()
allow additional parameters to set the priority and determine how many arguments should be passed to the function.
add_action('hook_name', 'deine_funktion', 10, 2); add_filter('hook_name', 'deine_funktion', 15, 1);
The third parameter (e.g. 10
or 15
) defines the priority.
The smaller the number, the earlier the function is executed.
The fourth parameter determines how many arguments are passed to the function.
Conclusion #
Hooks, whether action or filter, provide a flexible way to extend and customize the functionality of WordPress without changing the core code. Action hooks allow you to add new functions, while filter hooks manipulate the existing data before it is output.
By using these hooks, you can customize and extend themes, plugins and WordPress itself in a variety of ways.
Comments