2015-01-15 46 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中我有:如何輸出單選按鈕變量前端 - 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; 

    } 


再有就是關於消毒和驗證的多一點點的代碼,但我認爲它不應該在形式上對變量的任何輸入的影響。

在此先感謝您。

+0

Wordpress運行在PHP上,但本身並不是PHP。這是wordpress。 –

回答

0

感謝您回答。其實我還需要添加更多的代碼echo選中的單選按鈕的值。

我的代碼在前端(例如頁腳。PHP)看起來像這樣:

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

我希望這將有助於開發主題選項頁面的人。