从自定义字段复选框中收集值并将其显示在帖子中

时间:2014-03-26 作者:worldwildwebdev

好的,我有一个表单和一个输入字段类型复选框。但在帖子中只出现最后一个值,原因可能是什么?

<label for="extras"> Extras </label>
  <input type="checkbox" name="extras" value="ABS">Anti blocking system</br>
  <input type="checkbox" name="extras" value="DRS"> Dynamic rear spoiler </br>
  <input type="checkbox" name="extras" value="VSP"> Vibrating selfesteen system

<?php 
$extras = $_POST[\'extras\']; 

add_post_meta($pid, \'extras\', $extras, true); 

//this is in the attempt to be displayed in the post

 $extras = get_post_meta($post->ID, \'extras\', false); 
            if ($extras) {
                echo \'<ul>\';
                    foreach($extras as $extra){
                        echo \'<li>\' . $extra . \'</li>\';
                    }
                echo \'</ul>\';
                }
                ?>

1 个回复
最合适的回答,由SO网友:unifiedac 整理而成

在代码中,使用add\\u post\\u meta()用法只创建一个自定义字段。然后,当您使用get\\u post\\u meta()时,post中只有一个值。你能进入实际的帖子并查看自定义字段吗。是否有多个自定义字段具有相同的“extras”键?如果没有,请尝试迭代为您的帖子创建多个自定义字段:

$extras = $_POST[\'extras\'];

for ($i = 0, $l = count($_POST[\'extras\']); $i < $l; $i++) 
{
    add_post_meta($pid, \'extras\', $_POST[\'extras\'][$i]), true);
} 

结束

相关推荐

列出分类法:如果分类法没有POST,就不要列出分类法--取决于定制的POST-META?

这可能很难解释,我不知道是否有解决办法!?我有一个名为“wr\\u event”的自定义帖子类型和一个名为“event\\u type”的分层自定义分类法。自定义帖子类型有一个元框,用于event_date 并且与此帖子类型关联的所有帖子都按以下方式排序event_date. 我在循环中有一个特殊的条件来查询event_date 已经发生了-在这种情况下,它没有显示,但只列在我的档案中。就像你可以使用wp_list_categories() 我编写了一个自定义函数,它以完全相同的方式列出所有分类术语。现在