function popmake_get_popup_theme_meta($group, $popup_theme_id = null, $key = null, $default = null) { if (!$popup_theme_id) { $popup_theme_id = get_the_ID(); } $values = get_post_meta($popup_theme_id, "popup_theme_{$group}", true); if (!$values) { $defaults = apply_filters("popmake_popup_theme_{$group}_defaults", array()); $values = array_merge($defaults, popmake_get_popup_theme_meta_group($group, $popup_theme_id)); } else { $values = array_merge(popmake_get_popup_theme_meta_group($group, $popup_theme_id), $values); } if ($key) { // Check for dot notation key value. $test = uniqid(); $value = popmake_resolve($values, $key, $test); if ($value == $test) { $key = str_replace('.', '_', $key); if (!isset($values[$key])) { $value = $default; } else { $value = $values[$key]; } } return apply_filters("popmake_get_popup_theme_{$group}_{$key}", $value, $popup_theme_id); } else { return apply_filters("popmake_get_popup_theme_{$group}", $values, $popup_theme_id); } }
public function process_popup_themes() { $themes = get_posts(array('post_type' => 'popup_theme', 'post_status' => 'all', 'posts_per_page' => -1)); $theme_groups = array('overlay' => popmake_popup_theme_overlay_defaults(), 'container' => popmake_popup_theme_container_defaults(), 'title' => popmake_popup_theme_title_defaults(), 'content' => popmake_popup_theme_content_defaults(), 'close' => popmake_popup_theme_close_defaults()); foreach ($themes as $theme) { foreach ($theme_groups as $group => $defaults) { $values = array_merge($defaults, popmake_get_popup_theme_meta_group($group, $theme->ID)); update_post_meta($theme->ID, "popup_theme_{$group}", $values); } } }
/** * Returns the close meta of a theme. * * @since 1.0 * @param int $popup_theme_id ID number of the popup to retrieve a close meta for * @return mixed array|string of the popup close meta */ function popmake_get_popup_theme_close($popup_theme_id = NULL, $key = NULL) { return popmake_get_popup_theme_meta_group('close', $popup_theme_id, $key); }