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