2011-01-19 95 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' />"; 
} 

我可能会做一些更多的重构以后的想法拿出