另一种wordpress储存后台设置的一个方法-文曦博客

2021-11-16 639阅读

温馨提示:这篇文章已超过321天没有更新,请注意相关的内容是否还可用!

  和之前的略有不同(https://www.vience.cn/blog/645.html),这次储存的是数组,只需要一行数据库即可。

// 设置选项页面的主要功能
if(isset($_POST['options'])) {
		update_option('Magnet_theme_Settings', json_encode($_POST['options']));
		echo '<div class="notice is-dismissible updated">设置保存成功!</div>';
}
?>
<h1>主题设置</h1>
	<form method="post" action="<?php echo admin_url('themes.php?page=functions.php'); ?>">
		<?php
		echo "<table class=\"form-table\" role=\"presentation\"><tbody>";
		$option_value = get_option('Magnet_theme_Settings');
		$option_value = $option_value ? json_decode($option_value, true) : array();
		echo "<tr><th scope=\"row\"><label for=\"blogname\">头部h1:</label></th><td><input name=\"options[]\" type=\"text\" value=\"$option_value[0]\" class=\"regular-text\"></td></tr>";
		echo "<tr><th scope=\"row\"><label for=\"blogname\">尾部h1:</label></th><td><input name=\"options[]\" type=\"text\" value=\"$option_value[1]\" class=\"regular-text\"></td></tr>";
		echo "</tbody></table>";
		?>
		<p class="submit">
			<input type="submit" class="button-primary" value="保存设置">
		</p>
	</form>


        关键四点:

        1、action地址设置为本页的地址,例如我是模板下functions.php

        2、表单name值设置为options[],options[]是post接收那里的options

        3、$option_value[0]、$option_value[1]、$option_value[2]必须从小到大,从“0”开始

        4、Magnet_theme_Settings为储存的键值