The do_action
:
do_action( 'get_header', $name );
its triggering the action get_header
, so all actions attached using add_action
to the action 'get_header'
will be executed, its also passing the $name
as parameter to the functions by example:
function my_function($name){
echo "The Action sent me the name:".$name."!!";
}
add_action('get_header', 'my_function');
when the do_action( 'get_header', $name );
is executed my_function
will be called with $name
as a parameter, this way you can do “something” before the header template is loaded.
instruction 2
is not overriding instruction 1
its adding the default 'header.php'
to the array as a fallback, if you are calling a custom header the $templates
array will be like this (using get_header('custom');
):
Array
(
[0] => header-custom.php
[1] => header.php
)
locate_template will try to find and load with require_once
the first template, if it doesnt exist or it cant find it, it will fallback to header.php
and try to load that one too.