static function getPostMeta($post) { $id = is_object($post) ? $post->ID : (int) $post; $meta = get_post_meta($id, THEME_OPTION_PREFIX, false); if (isset($meta[0])) { $meta = $meta[0]; } $postType = get_post_type($id); if (in_array($postType, array(THEME_CONTEXT . '_widget_area'))) { return $meta; } $Theme = new Theme(); $Post = new ThemePost(); $Page = new ThemePage(); $WidgetArea = new ThemeWidgetArea(); $Theme->setPostMetaDefault($meta, 'all'); switch ($postType) { case 'post': $Post->setPostMetaDefault($meta); break; case 'page': $Page->setPostMetaDefault($meta); break; case THEME_CONTEXT . '_widget_area': $WidgetArea->setPostMetaDefault($meta); break; } return $meta; }