protected function importMetaBoxes($pid, $p)
{
// List of meta data keys that can support multiple values:
$multiple = array('pb_contributing_authors' => true, 'pb_keywords_tags' => true, 'pb_bisac_subject' => true);
// Clear old meta boxes
$metadata = get_post_meta($pid);
foreach ($metadata as $key => $val) {
// Does key start with pb_ prefix?
if (0 === strpos($key, 'pb_')) {
delete_post_meta($pid, $key);
}
}
// Import post meta
foreach ($p['postmeta'] as $meta) {
if (0 === strpos($meta['key'], 'pb_')) {
if (isset($multiple[$meta['key']])) {
// Multi value
add_post_meta($pid, $meta['key'], $meta['value']);
} else {
// Single value
if (!add_post_meta($pid, $meta['key'], $meta['value'], true)) {
update_post_meta($pid, $meta['key'], $meta['value']);
}
}
}
}
}