Save post meta foreach loop

时间:2012-06-25 作者:Niels

我的脑子垮了。如何保存此帖子数据?在表单中构建一些键值对。

    for ($i = 1; $i <= 3; $i++) {
        $saved = $meta[$i];
        //print_r($saved);
        //echo $saved[\'key\'];
        echo \'<p>\';
        echo \'<label for="meta_k_\'.$i.\'">Key</label> \',   \'<input id="meta_k_\'.$i.\'" type="text" name="_meta[\'.$i.\'][key]" value="\'.$saved[\'key\'].\'" />&nbsp;&nbsp;\';
        echo \'<label for="meta_v_\'.$i.\'">Value</label> \', \'<input id="meta_v_\'.$i.\'" type="text" name="_meta[\'.$i.\'][value]" value="\'.$saved[\'value\'].\'" />\';
        echo \'</p>\';
    }
我如何保存它们???

    foreach ($_POST[\'_meta\'] as $key => $value) {
        update_post_meta($post_id, $key, $value);
    }

2 个回复
最合适的回答,由SO网友:Samiul Amin Shanto 整理而成

这应该是工作:

foreach ($_POST[\'_meta\'] as $value) {
    update_post_meta($post_id, $value[\'key\'], $value[\'value\']);
}

SO网友:HungryCoder

你就快到了。只需将保存逻辑挂接到“save\\u post”。

add_action(\'save_post\', \'custommeta\');
function custommeta($post_id)
{
  //put your update code here
}

结束

相关推荐

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

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