由于您使用的是init“add\\u action”,因此最好不要在模板中使用它,因为Wordpress core的“do\\u action”使用的是“add\\u action”,它位于模板之前。
如果希望此函数具有更高的优先级,请将其置于函数中。php,但使用“add\\u action”的“priority”变量:
add_action( $tag, $function_to_add, $priority );
默认优先级为10。
See more here或者,如果这只与特定模板相关,那么我认为您根本不需要add\\u操作,甚至不需要函数。
只需将函数的内部代码放在模板中的get\\u header()之前:
if(isset($_POST[\'region\']))
{
// Set Cookie
setcookie(\'region\', $_POST[\'region\'], time()+1209600);
// Reload the current page so that the cookie is sent with the request
header(\'Region: \'.$_SERVER[\'REQUEST_URI\']);
}