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);
    }
}
Exemple #2
0
 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);
}