我正在为WordPress的管理区域填写表格。这是到目前为止的代码;
<form method="post" action=options.php">
<?php update_option('gpspl_options', $gpspl_options);?>
<input type="text" name="gpspl_options" value="$gpspl_options"/>
<input type="submit" value="Save Changes"/>
</form>
在管理区域的页面上,文本框将自动填充“ $ gpspl_options”。但是,当我添加文本并点击提交时,它不会更新数据库中的wp_options表。
我想念什么?
最佳答案
您总是对update_option()
中存储的任何内容调用$gpspl_options
。您永远不会对发布的值($_POST['gpspl_options']
)做任何事情。因此,过帐的值永远不会保存。如果要保存过帐的值,则需要以下内容:
if (isset($_POST['gpspl_options'])) {
update_option('gpspl_options', $_POST['gpspl_options']);
}
对于文本字段,您总是将文本字段初始化为文字字符串“ $ gpspl_options”(而不是变量
$gpspl_options
的值)。要使用该值,您需要类似以下内容:<?php
$gpspl_options = isset($_POST['gpspl_options']) ? $_POST['gpspl_options'] : '';
?>
<input type="text" name="gpspl_options" value="<?php echo $gpspl_options; ?>"/>
您可能需要阅读介绍PHP的入门教程,内容涉及变量,变量名,输出等。
也就是说,将逻辑和输出混合在一起并不是一个好习惯。这就是Wordpress的工作,因此是一种鼓励,但这并不意味着您也应该这样做。