我的工作我的主題選項面板上(在管理/後端),我與單選按鈕掙扎。
我遵循本教程: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;
}
再有就是關於消毒和驗證的多一點點的代碼,但我認爲它不應該在形式上對變量的任何輸入的影響。
在此先感謝您。
Wordpress運行在PHP上,但本身並不是PHP。這是wordpress。 –