public static function get_instance() { if (!is_a(self::$instance, __CLASS__)) { self::$instance = new self(); } return self::$instance; }
public function load_page_regions($data, $ids) { $layoutId = $this->_get_page_default_layout($ids); if (empty($layoutId) && !empty($ids['specificity'])) { $page_id = preg_replace('/.*-([0-9]+)$/', '$1', $ids['specificity']); $tpl = false; if (!empty($page_id) && is_numeric($page_id)) { $tpl = get_post_meta((int) $page_id, '_wp_page_template', true); } if (!empty($tpl)) { $theme = Upfront_ChildTheme::get_instance(); $tpl = preg_replace('/page_tpl-(.*)\\.php$/', '\\1', $tpl); $required_pages = $theme->get_theme_settings()->get('required_pages'); if (!empty($required_pages)) { $required_pages = json_decode($required_pages, true); } $layoutId = !empty($required_pages[$tpl]['layout']) ? $required_pages[$tpl]['layout'] : $layoutId; } } if ($layoutId) { $theme = Upfront_Theme::get_instance(); $ids['theme_defined'] = $layoutId; $data['regions'] = $theme->get_default_layout($ids, $layoutId); } return $data; }
function upfront_get_template_path($slugs, $default_file = '') { return Upfront_Theme::get_instance()->get_template_uri($slugs, $default_file, true); }