如何联接两个自定义字段值并保存到第三个字段

时间:2019-02-25 08:36:19

标签: php wordpress custom-fields wordpress-hook

我正在尝试合并两个自定义字段,并将合并的值保存到第三个自定义字段。

第一个自定义字段具有一些选项,例如状态缩写(meta key ='state_found')下拉列表,第二个自定义字段正在生成随机数,以下是用于随机数的代码,该代码保存到Post random(Meta key ='post_random ')

function get_post_random_wpse( $post_id = 0, $meta_key = 
'post_random',$meta_value = 0 )
{
if( ! ( $post_id > 0 && strlen( $meta_key ) > 0 ) )
return 0;
if( '' === ( $post_rand = get_post_meta( $post_id, $meta_key, true ) ) )
update_post_meta( $post_id, $meta_key, $post_rand = $meta_value);
return $post_rand;
}

我正在尝试使用此代码合并这两个字段

add_filter('save_post', 'combine_my_fields');
function combine_my_fields($post_id, $post) {
$sup = get_post_meta($post_id, 'state_found', true);
$sup = ', ' . get_post_meta($post_id, 'post_random', true);
update_post_meta($post_id, 'new_id', $sup);
}

最终值必须保存到新ID(meta key ='new_id')

但是我不知道为什么事情不起作用,随机代码生成的很好,但是值没有合并,还有一件事我想确保所有随机数必须唯一。

谢谢

1 个答案:

答案 0 :(得分:0)

add_filter('save_post', 'combine_my_fields');

function combine_my_fields($post_id) {
    $sup = get_post_meta($post_id, 'state_found','test text added');
    $sup.= ', ' . get_post_meta($post_id, 'post_random', 'test text added');
    update_post_meta($post_id, 'new_id', $sup);
}