我有 CMB2 的自定义帖子类型,我不知道如何按 ID 删除组帖子元。
function get_all_ids($json) {
$prefix = '_atom_';
$all = get_posts(array(
'posts_per_page' => -1,
'post_type' => 'atomic_spektakl',
'post_status' => 'any, draft, publish',
'meta_key' => 'integracja_id',
'meta_value !=' => '',
));
foreach($json as $item) {
$eventApiIDs[] = $item->id;
}
foreach($all as $post) {
$res = $post->ID;
$eventPostValue = get_post_meta($res);
$eventPostValueData = unserialize($eventPostValue['wiki_test_repeat_group'][0]);
foreach($eventPostValueData as $epvd) {
$eventPostIDs[] = $epvd['event_id'];
}
}
$eventValueEmpty = [
$prefix . 'date' => '',
$prefix . 'time' => '',
$prefix . 'event_ticket' => '',
'event_id' => '',
];
foreach($eventPostIDs as $evp) {
if(!in_array($evp, $eventApiIDs, true)) {
delete_post_meta($res, 'wiki_test_repeat_group');
}
}
}
当我对不在第二个数组中的值尝试 delete_post_meta 时,什么都不会发生。如何从 ID 下的可重复字段中删除组?
这就是我将数据放入表中的方式,这里一切正常,但我不想再删除它了。
$eventValue = get_post_meta($res, 'wiki_test_repeat_group', true);
$eventValue[$i] = [
$prefix . 'date' => $eventDate,
$prefix . 'time' => $eventTime,
$prefix . 'event_ticket' => $event->reservationForm,
'event_id' => $event->id,
];
if($eventValue[$i]['event_id'] == $event->id) {
update_post_meta($res, 'wiki_test_repeat_group', $eventValue);
}