从自定义字段中提取数组

时间:2014-01-11 作者:carletto0282

我正在使用woocommerce产品包扩展。我需要处理一些关于捆绑帖子的信息。实际上,我发现捆绑产品容器有一个名为\\u bundled\\u id的隐藏自定义字段,该字段在数据库中的值为a:3:{I:0;I:105;I:1;I:80;I:2;I:70;}

据我所知,这个值是捆绑产品的ID列表。

如何在以逗号分隔的ID列表(即105、80、70)中提取此信息?

我尝试过get\\u custom\\u post\\u meta(),但我能得到的只是数组。

希望你能帮忙。致以最良好的问候和感谢

卡洛

编辑

正如我已经说过的,我需要以逗号分隔的数字列表的形式获取存储在此自定义字段中的数据。

我尝试在函数中使用此代码创建一个快捷代码。php文件:

add_shortcode(\'bundled_ids\',\'bundled_ids_func\');
function bundled_ids_func() {    
    $meta_values = get_post_meta( $post->ID , \'_bundled_ids\' );    
    $mydata = unserialize($meta_values);

    return $mydata;
}
但我什么也得不到

编辑2

add_shortcode(\'bundled_ids\',\'bundled_ids_func\');
function bundled_ids_func() {
    $meta_values = get_post_meta( get_the_ID() , \'_bundled_ids\', true );
    $id_list = print_r($meta_values, true);

    return $id_list;
}
使用此代码,我得到以下结果:

阵列([0]=>105[1]=>80[2]=>70)

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

这主要是纯PHP,但您需要implode 阵列。

add_shortcode(\'bundled_ids\',\'bundled_ids_func\');
function bundled_ids_func() {    
    $meta_values = get_post_meta( get_the_ID() , \'_bundled_ids\', true );  
    if (!empty($meta_values)) {
      $mydata = implode(\',\',$meta_values); // add this line
      return $mydata;
    }
}

结束