/** * Returns the class corresponding to the template that a particular page is supposed to mimic. In case of single posts this gets the value * of the meta field 'suf_pseudo_template' for that post, and returns the template corresponding to that. * * @return array */ function suffusion_get_pseudo_template_class() { global $suffusion, $suffusion_sidebar_context_presets, $post; if (!isset($suffusion) || is_null($suffusion)) { $suffusion = new Suffusion(); } $context = $suffusion->get_context(); foreach ($suffusion_sidebar_context_presets as $preset) { if (in_array($preset, $context)) { $count_option = "suf_{$preset}_sidebar_count"; global ${$count_option}; if (isset(${$count_option})) { $special_template = ${$count_option}; } } } // The current view is not any preset ('search', 'date', 'author', 'tag', 'category', 'blog'). Check if this is a single post. if (!isset($count_option)) { $post_template = suffusion_get_post_meta($post->ID, 'suf_pseudo_template', true); if (is_singular() && !is_page()) { $special_template = $post_template == '' || $post_template === 0 || $post_template == "0" ? 'default' : $post_template; } else { if (is_page()) { if ($post_template != '' && $post_template !== 0 && $post_template != "0" && !(is_page_template('no-sidebars.php') || is_page_template('1l-sidebar.php') || is_page_template('1r-sidebar.php') || is_page_template('2l-sidebars.php') || is_page_template('2r-sidebars.php') || is_page_template('1l1r-sidebar.php'))) { $special_template = $post_template; } } } } if (!isset($special_template)) { return array(); } switch ($special_template) { case 'default': $template = ''; break; case '0': case 'no': $template = 'no-sidebars.php'; break; case '1l': $template = '1l-sidebar.php'; break; case '1r': $template = '1r-sidebar.php'; break; case '1l1r': $template = '1l1r-sidebar.php'; break; case '2l': $template = '2l-sidebars.php'; break; case '2r': $template = '2r-sidebars.php'; break; default: $template = ''; break; } if ($template != '') { $template = 'page-template-' . str_replace('.', '-', $template); $suffusion->set_body_layout($template); $template = array($template); } else { $template = array(); } return apply_filters('suffusion_pseudo_template_class', $template); }