好的,所以可能元数据保存正确,现在我们要检索它。
我不知道您在哪里以及如何添加此代码,它看起来像一个元数据库?
复选框并没有神奇地被选中,您需要添加一些逻辑。
首先,我们需要仔细了解如何保存复选框数据。我们希望将选中的复选框保存到DB。
此阵列:
$features = array();
$features[0] = "star";
$features[1] = "triangle";
$features[2] = "square";
不会告诉我们检查了哪些类别。
我们希望按如下方式保存阵列:
$features = array();
$features[\'star\'] = 1; // checked
$features[\'square\'] = 0; // not checked
$features[\'triangle\'] = 1; // checked
在复选框HTML上方,您需要从DB获取功能数据(post\\u meta)。
将此添加到html上方:
<?php
global $post;
$features = get_post_meta( $post->ID, \'category\', true );
?>
如果要选中复选框,则需要添加属性
checked="checked"
对它。只有当DB的features数组告诉我们这样做时,我们才想这样做。您可以通过以下复选框html来实现这一点:
<input type="checkbox" name="checkbox_name" id="checkbox_id" value="triangle" <?php echo (isset($features[\'triangle\']) && $features[\'triangle\']) ? \'checked="checked"\' : \'\' ?> />
这是:
<?php echo (isset($features[\'triangle\']) && $features[\'triangle\']) ? \'checked="checked"\' : \'\' ?>
检查数组键(三角形)是否存在于
$features
数组,如果该值设置为1(或任何正值)。如果是,则输出
checked="checked"
, 如果没有,它什么也不做。
你好,比约恩