Обратные вызовы API настроек Wordpress - PullRequest
2 голосов
/ 19 января 2011

Есть ли в API настроек Wordpress какой-либо способ передачи пользовательских аргументов в обратные вызовы или что-то в этом роде? Так что мне не нужно определять семнадцать сотен обратных вызовов?

Или зная имя поля / раздела / группы, чтобы я мог сделать, например, обработчик ввода текста, который делает:

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

вместо отдельного обратного вызова для каждого поля со всеми этими значениями в жестком коде?

1 Ответ

1 голос
/ 20 января 2011

Есть необязательный параметр $ args, который содержит массив параметров.Что я сделал, так это установил это:

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

и затем сделал это в обычном обратном вызове

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' />";
}

Я, вероятно, позже сделаю еще один рефакторинг, когда возникнут мысли

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...