【问题标题】:How to Join two Custom fields values and save to third field如何连接两个自定义字段值并保存到第三个字段
【发布时间】:2019-02-25 08:36:19
【问题描述】:

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

第一个自定义字段有一些选项,如 state abbreviation(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')

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

谢谢

【问题讨论】:

    标签: php wordpress custom-fields wordpress-hook


    【解决方案1】:
    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);
    }
    

    【讨论】:

    • @VikasGaur 测试我更新的代码让我知道它是怎么回事
    • 它可以工作,但我必须再次更新帖子才能在“new_id”中获取这些组合值,并且第一个值和第二个值之间有一个逗号和空格谢谢
    • 我修复了逗号和空格问题,但我不想在发布后更新帖子 必须在帖子创建时插入新 ID 有什么办法吗?
    • 嗨,我尝试了你们提供的两种解决方案,这两种解决方案都结合了自定义字段,但不是在发布帖子时,但如果我在发布后更新帖子,那么我会得到一个组合值,我认为这是由于随机数是在帖子发布时生成的,它应该在发布帖子之前生成让我知道我是对还是错,因为我无法在帖子发布之前找到生成随机数的方法谢谢
    猜你喜欢
    • 2012-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多