Implement Hooks Using Array

I’m trying to implement some hooks into a theme, but rather than write out every hook with repetitive code I was wondering if I could use and array to declare the hooks instead.

E.g. ordinarily i’d use something like:

Read More
function hook_name_1() {
    do_action( 'hook_name_1' );
}

function hook_name_2() {
    do_action( 'hook_name_2' );
}

Is there a way to place the hook names into an array and then call them with one foreach loop or something similar? Something like the following:

$hook_array = array(
home_name_1,
hook_name_2
);

foreach ($hook_array as $hook) {
    function $hook() {
        do_action($hook);
}
}

Related posts

Leave a Reply

1 comment

  1. What’s wrong with good old do_action? 😉 You could write a simple wrapper:

        function wpse81578_hook( $hook ) {
            do_action( $hook );
        }
    

    If you’re looking for something dynamic, take a look at the do_atomic function of the Hybrid theme framework: it “adds contextual action hooks to the theme. This allows users to easily add context-based content without having to know how to use WordPress conditional tags. The theme handles the logic.”