2015-01-15 3 views
0



Я работаю на моей панели темы опций (в администрации/бэкэнде), и я борюсь с радиокнопками.

Я следил за этим руководством: https://github.com/cferdinandi/wp-theme-options/ для создания переключателей. Теперь они находятся в настройках тем, но я не знаю, как сделать вывод этого в интерфейсе темы.

Я хочу просто попробовать echo значение формы кнопок радио, но я не знаю имя переменной, в которой оно сохраняется.

Обычно в PHP я хотел бы сделать это следующим образом: if ($_POST['NAME']=="VALUE1") { echo "Some text here"; }

с текстовыми полями я использую только это: <?php echo $options['csscolor_setting']; ?> (в, например, header.php)
И в functions.php я есть:Как вывести радиокнопки переменной FRONTEND - WordPress

function csscolor_setting() { 

    $options = get_option('theme_options'); echo "<input name='theme_options[csscolor_setting]' type='text' value='{$options['csscolor_setting']}' />"; 

} 

Но это невозможно с помощью переключателей. На данный момент было бы достаточно, если я знаю, как сделать какой-то код, как этот реал:

<?php if ($some_variable == 'yes') 
{echo 'Something';} 
?> 

или просто <?php echo $some_variable; ?>
Но это $ some_variable я не могу найти в своем коде.

Вот мой код в functions.php относительно переключателей.

add_settings_field('sample_radio_buttons', __('Allow triangles in background?', 'YourTheme'), 'YourTheme_settings_field_sample_radio_buttons', 'theme_options', 'general'); 


Создание вариантов кнопок радио поле

function YourTheme_sample_radio_button_choices() { 

    $sample_radio_buttons = array(

     'yes' => array(

      'value' => 'yes', 

      'label' => 'Yes' 

     ), 

     'no' => array(

      'value' => 'no', 

      'label' => 'No' 

     ), 

    ); 

    return apply_filters('YourTheme_sample_radio_button_choices', $sample_radio_buttons); 

} 


Создание отбора пробы радио кнопки

function YourTheme_settings_field_sample_radio_buttons() { 

    $options = YourTheme_get_theme_options(); 

    foreach (YourTheme_sample_radio_button_choices() as $button) { 

    ?> 

    <div class="layout"> 

     <label class="description"> 

      <input type="radio" name="YourTheme_theme_options[sample_radio_buttons]" value="<?php echo esc_attr($button['value']); ?>" <?php checked($options['sample_radio_buttons'], $button['value']); ?> /> 

      <?php echo $button['label']; ?> 

     </label> 

    </div> 

    <?php 

    } 

} 


Получение текущих параметров из базы данных и установка запретов.

function YourTheme_get_theme_options() { 

     $saved = (array) get_option('YourTheme_theme_options'); 

     $defaults = array(

      'sample_checkbox'  => 'off', 

      'sample_text_input'  => '', 

      'sample_select_options' => '', 

      'sample_radio_buttons' => 'yes', 

      'sample_textarea'  => '', 

     ); 

     $defaults = apply_filters('YourTheme_default_theme_options', $defaults); 

     $options = wp_parse_args($saved, $defaults); 

     $options = array_intersect_key($options, $defaults); 

     return $options; 

    } 


Тогда есть немного больше кода о обеззараживание и проверки, но я думаю, что это не должно быть никаких inffluence на переменную в форме.

Заранее спасибо.

+0

Wordpress работает на PHP, но сам не является PHP. Это wordpress. –

ответ

0

На интерфейсе вы можете просто использовать ту же функцию, что и тот, который вы используете в вашей функции get_theme_options, а именно:

get_option('YourTheme_theme_options'); 

Посмотрите на это: http://codex.wordpress.org/Function_Reference/get_option

0

Спасибо за ваш ответ. На самом деле мне также нужно было добавить еще немного кода в значение echo значение отмеченного переключателя.

Мой код в интерфейсе (например, нижний колонтитул.php) выглядит так:

<?php $YourTheme_theme_options = get_option('YourTheme_theme_options'); 
echo $YourTheme_theme_options['sample_radio_buttons']; ?> 

Я надеюсь, что это поможет кому-то разработать страницу параметров темы.

Смежные вопросы