是否可以将函数放在函数.php文件之外的其他位置?

时间:2012-10-01 作者:Rob

是否可以将函数放在函数以外的其他位置。php文件?一、 是否直接导入模板?

在编写一些代码之前,我需要调用以下内容,为了确保实现这一点,我希望将其置于模板中其他所有内容之上:

function set_region_cookie()
{
    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\']);
    }
}
add_action(\'init\', \'set_region_cookie\');

2 个回复
SO网友:Biranit Goren

由于您使用的是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\']);
}

SO网友:dipali

是的,您可以将函数放在模板中的任何位置。但是,该函数仅用于该模板。

结束

相关推荐

Functions.php:从博客中排除类别

所以很明显,如何从模板中排除某些类别,但我不想修改4个模板,使它们忽略某个类别。有没有一种方法可以将某个类别从阅读设置的“博客”集中排除?我正在将博客分配到名为“博客”的页面。。。但显然,档案和搜索也需要对这一超出类别的内容视而不见。我宁愿在里面做functions.php