我將資料存盤在陣列中的自定義欄位中
a:5:{i:0;a:1:{s:12:"product_desc";s:44:"Value1";}i:1;a:1:{s:12:"product_desc";s:24:"Value2";}i:2;a:1:{s:12:"product_desc";s:31:"Value3";}i:3;a:1:{s:12:"product_desc";s:41:"Value4";}i:4;a:1:{s:12:"product_desc";s:39:"Value5";}}
我想提取 sub_array product_desc 的值并更新自定義欄位 meta_value。
我知道wordpress 有maybe_unserialize 來反序列化資料,但是接下來要做什么來提取sub_array 值呢?
add_action( 'init', function() {
if ( 'migrate' !== filter_input( INPUT_GET, 'action' ) ) {
return;
}
$query = new WP_Query( [
'posts_per_page' => -1,
'post_type' => 'post',
'post_status' => 'any',
] );
if ( ! $query->have_posts() ) {
return;
}
while ( $query->have_posts() ) {
$query->the_post();
$field_id_1 = 'podu';
$field_value_1 = get_post_meta( get_the_ID(), $field_id_1, true );
$data = maybe_unserialize( $field_value_1 );
//How to extract sub_array values from $data?
}
} );
uj5u.com熱心網友回復:
你$data包含一個陣列,所以你可以回圈它:
foreach($data as $singleData){
$desc[] = $singleData['product_desc'];
... now you have your $desc
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/482238.html
