我正在WordPress中创建我的第一个主题,并添加了一个主题设置页面,我正在使用HTML5类型“颜色”的输入字段,以允许主题用户选择页面上元素的颜色
输入类型呈现并且工作正常,但在主题选项页面上,我希望它显示当前所选颜色的十六进制值的文本字符串(例如“#FFFFFF”或“#31A1FF”或其他)到色样/输入字段。这部分不起作用。我对PHP很新,所以我可能只是做错了。但我会想到读取输入字段的value属性会起作用。它不是 - 它根本不显示任何文本。
以下是我正在使用的代码。任何人都可以帮我指出正确的方向吗?
最终,我想要对其他设置使用的其他输入类型做同样的事情,例如不透明度/透明度值的滑块输入。但这是我的出发点,我可以开始使用这个,其他人可能不难理解。
function fp_Field_BackgroundColor () {
$options = get_option('fp-OptionsArray');
echo "<input id='fp_BackgroundColor' name='fp-OptionsArray[BackgroundColor]' type='color' value='{$options['BackgroundColor']}' />";
echo "<div float='left'>" . $_POST['fp_BackgroundColor.value'] . "</div>";
}
答案 0 :(得分:4)
在HTML5部分:
<form action="" method="post">
Select you favorite color:
<input name="clr" type="color">
<input type="submit" name="submit">
</form>
在php部分:
<?php
if(isset($_POST['clr']))
$selected_color= $_POST['clr'];
// To show Hexadecimal code of the selected color
echo "Color code is: " . $selected_color;
?>
在表单提交后保留/保留所选颜色,将提交给服务器的颜色分配回输入表单的“value”属性。即颜色类型的输入如下所示:
<input name="clr" type="color" value="<?= htmlspecialchars($_POST['clr']) ?>">
答案 1 :(得分:0)
不要把name作为array.take它作为一个简单的变量
<input type='color' id='fp_BackgroundColor' name='fp-BackgroundColor' type='color' value='<?php if(isset($_POST['submit'])){echo $fp-BackgroundColor;} ?>' />
还有一个更重要的事情......你必须指定输入'type'