在不删除旧条目的情况下更新发布元数据

时间:2014-08-24 作者:nidaelias

$old = get_post_meta($post_id, \'figure_sugsubject_repeatable_fields\', true);
$new = array();

$figuresugsubjectpositions = $_POST[\'figuresugsubjectposition\'];
$figuresugsubjectworkplaces = $_POST[\'figuresugsubjectworkplace\'];
$figuresugsubjectlocations = $_POST[\'figuresugsubjectlocation\'];
$figuresugsubjectfroms = $_POST[\'figuresugsubjectfrom\'];
$figuresugsubjectstatuss = $_POST[\'figuresugsubjectstatus\'];


$count = count( $figuresugsubjectpositions );

for ( $i = 0; $i < $count; $i++ ) {
    if ( $figuresugsubjectpositions[$i] != \'\' ) :
        $new[$i][\'figuresugsubjectposition\'] = stripslashes( strip_tags( $figuresugsubjectpositions[$i] ) );

        $new[$i][\'figuresugsubjectworkplace\'] = $figuresugsubjectworkplaces[$i];
        $new[$i][\'figuresugsubjectlocation\'] = $figuresugsubjectlocations[$i];
        $new[$i][\'figuresugsubjectfrom\'] = $figuresugsubjectfroms[$i];
        $new[$i][\'figuresugsubjectstatus\'] = $figuresugsubjectstatuss[$i];

    endif;
}

if ( !empty( $new ) && $new != $old )
    update_post_meta( $post_id, \'figure_sugsubject_repeatable_fields\', $new );
elseif ( empty($new) && $old )
    delete_post_meta( $post_id, \'figure_sugsubject_repeatable_fields\', $old );
我有一个用于后期提交的前端表单。我希望表单中的新条目不会替换旧条目,而是希望添加新条目。我想问题出在update\\u post\\u meta上。我保存新条目而不是旧条目。不管怎样,我是不是保留了旧的,把新的和新的钥匙放在一起?

1 个回复
SO网友:birgire

请尝试替换:

update_post_meta( $post_id, \'figure_sugsubject_repeatable_fields\', $new );
使用:

add_post_meta( $post_id, \'figure_sugsubject_repeatable_fields\', $new );
添加更多与figure_sugsubject_repeatable_fields 元键。

您还应该考虑使用filter_input() 而不是$_POST.

结束

相关推荐

在使用GravityForms上传工具时,如何通过函数更改图片的作者?

我想知道是否有办法手动更改图像的作者。我使用的Gravity表单将帖子作者设置为当前用户,但不会将他们设置为上传图像的作者。我想可能有一种方法可以添加一个函数,该函数可以查找当前用户,然后设置他们上传给该用户的图像的作者。