0
我试图覆盖一个函数的默认值,以便我可以自定义该函数。以下是目前发生的事情。覆盖一个函数的默认值
在该脚本加载
<?php require( dirname(__FILE__) . "/filters.php"); ?>
<?php require( themes_path . "/2014/functions.php"); ?>
filter.php
这是原来的功能顺序
/* Login Page */
if(!function_exists ("customize_login")){
function customize_login($args = array()){
$defaults = array(
"image_url" => bs_url . "/system/bootstrap/images/logo.png",
"image_alt" => "Original ALT",
"image_title" => "Original Title",
"image_class" => "profile-img"
);
$args = array_merge($defaults, $args);
return $args;
}
}
的functions.php
我就在这里重写上述功能
/* Override the Login Page */
$args = array(
"image_alt" => "Override ALT",
"image_title" => "Override Title",
"image_class" => "profile-img"
);
call_user_func("customize_login", $args);
的login.php
这里就是我想用我对的functions.php覆盖功能文件
$customize_login = customize_login();
if(is_array($customize_login)){
$image_url = $customize_login["image_url"];
$image_alt = $customize_login["image_alt"];
$image_title = $customize_login["image_title"];
$image_class = $customize_login["image_class"];
}
问题?
我仍然得到原始函数值和不是覆盖函数值。我如何访问覆盖函数值?
感谢您的回答。我想到了这一点,但没有实现这一点,因为我不想在开发后触摸login.php页面,因为它不会是安全升级。 – 2014-10-11 16:00:10
只要'customize_login()'在不带'$ args'的情况下被调用,它将返回里面定义的默认值。 – dognose 2014-10-11 16:00:53
@RedVirus看到我的编辑。 – dognose 2014-10-11 16:09:00