public static function get_layout($layout_ids, $apply = false) { $layout = Upfront_Layout::from_entity_ids($layout_ids); if ($layout->is_empty()) { $layout = Upfront_Layout::create_layout($layout_ids); } $post_id = is_singular() ? get_the_ID() : ''; $post = get_post($post_id); self::$_instance = new self($layout, $post); // Add actions add_action('wp_enqueue_scripts', array(self::$_instance, 'add_styles')); add_action('wp_enqueue_scripts', array(self::$_instance, 'add_scripts'), 2); // Do the template... if ($apply) { return self::$_instance->apply_layout(); } return self::$_instance; }