我通过functions.php创建了Wordpress自定义字段。我的代码工作正常,我的输入字段和复选框很少。
问题是当我保存帖子时,即使我没有将内容放在我的表单中,这些行也是在DB中创建的。我想做一些php检查,如果没有保存字段内容,就避免在DB中创建行。
我尝试了几种方法,但在大多数情况下,它会导致复选框的行为不正确,例如。
完整代码在此处:http://pastebin.com/embed_js.php?i=Vvnseiep
我很感激你在这件事上的帮助。我不是很有经验。
谢谢!
答案 0 :(得分:0)
此处验证部分发挥作用。为什么你不能使用Javascript在客户端环境中验证你的输入,然后允许它命中数据库。
答案 1 :(得分:0)
将所有复选框命名为相同(name="meta_box_check[]"
)。他们仍然必须有不同的ID。发布表单后,您将获得一系列已在$_POST['meta_box_check']
中签入的值。然后,您可以检查阵列是否为空。您还可以将复选框数据另存为JSON数据。这并不总是很好的做法,但只会使用一个数据行来保存任何和所有复选框值。
<?php
if(!empty($_POST['meta_box_check']))
{
//process your data and save it
update_post_meta($post_id, 'meta_features_checklist', json_encode($_POST['meta_box_check']));
}
?>
这是一个基本示例,请确保在保存之前进行一些数据验证。