Регистрация опций
-
Учу вордпресс, на основе http://codex.wordpress.org/index.php?title=Creating_Options_Pages&oldid=97268 вот этого вот, пытаюсь написать класс, выглядит так.
<?php /*----------------------------------------------------------------------------*/ /* Тренировочный класс опции /*----------------------------------------------------------------------------*/ class My_Test_Class{ public function __construct() { add_action( 'admin_init', array( $this, 'register_my_test_options' ) ); //активируем опции add_action( 'admin_menu', array( $this, 'cr_admin_menu' ) ); // активируемстраницу меню } function register_my_test_options() { //регистрируем настройки register_setting( 'my-test-options', 'my_test_options'); } function cr_admin_menu() { //создаем меню $this->page = add_menu_page( 'Test','Test','manage_options','my-test-options', array( &$this , 'my_test_form' ) ); } /*----------------------------------------------------------------------------*/ /* Задаю новости /*----------------------------------------------------------------------------*/ function my_test() { $preffix ='my_test'; // преффикс $options = array(); // массив с опциями $options[] = array( //текстовый инпут 'name' => __('Test text Input','my_textdomain'), 'desc' => __('Test text input descriptions','my_textdomain'), 'id' => $preffix . 'test_text_input', 'std' => 'Default value', 'type' => 'text', ); $options[] = array( 'name' => __('Test text Input2','my_textdomain'), 'desc' => __('Test text input descriptions2','my_textdomain'), 'id' => $preffix . 'test_text_input2', 'std' => 'Default value2', 'type' => 'text', ); return $options; //возвращаем массив } /*----------------------------------------------------------------------------*/ /* получаю данные вывожу форму /*----------------------------------------------------------------------------*/ function my_test_form(){ // рендер формы $options = $this -> my_test(); // получаю массив $out =''; $out .='<form method="post" action="options.php">'; settings_fields( 'my-test-options' ); // Выводит скрытые поля формы на странице настроек foreach( $options as $option ) { switch( $option['type'] ){ //получаю тип поля case 'text': // текстовое поле $val = get_option( $option['id'] ) ? get_option( $option['id'] ) : $option['std'] ; $out .='<p>'; $out .='<label for="' . $option['id'] . '"><h3>' . $option['name'] . '</h3></label>'; $out .='<input type="text" id="' . $option['id'] . '" name="my_test_options[' . $option['id'] . ']" value ="' . $val . '">'; $out .='<span>' . $option['desc'] . '</span>'; $out .='</p>'; } } $out .= get_submit_button(__('Обновить','my_textdomain')); $out .='</form>'; echo $out; } }Не регистрируются опции, в чем ошибка?
Тема «Регистрация опций» закрыта для новых ответов.