2011-01-19 110 views
2

WordPress的設置API有任何方式將自定義參數傳遞給回調或什麼?所以我不必定義一千七百個回調?WordPress的設置API回調

或知道現場/條/組名,所以我可以例如做一個文本輸入處理程序的作用:

$options = get_option($setting); 
echo "<input id='$option_id' name='$setting[$field]' size='40' 
     type='text' value='{$options[$field]}' />"; 

,而不是不同的回調的每個字段與所有這些值硬編碼?

回答

1

有一個可選參數$ args,它攜帶一組參數。我所做的就是將其設置爲這樣:

array('option' => $this->optionsPrefix.'server')); 

,然後爲此在共同calback

function display_text_option($args) 
{ 
    $args = array_merge(array(
     'option' => '', 
     'pass' => false), $args); 

    $option = $args['option']; 

    $options = get_option(LDFOPTION); 

    if($options == null) 
     $options = array(); 

    $options = array_merge(array(
     $option => ''), $options); 

    $value = $options[$option]; 
    $type = $args['pass']?'password':'text'; 
    echo " <input id='$option', name='".LDFOPTION."[$option]' size='40' type='$type' value='$value' />"; 
} 

我可能會做一些更多的重構以後的想法拿出