name; } elseif (is_post_type_archive()) { echo get_queried_object()->labels->name; } elseif (is_day()) { printf(__('Daily Archives: %s', 'roots'), get_the_date()); } elseif (is_month()) { printf(__('Monthly Archives: %s', 'roots'), get_the_date('F Y')); } elseif (is_year()) { printf(__('Yearly Archives: %s', 'roots'), get_the_date('Y')); } elseif (is_author()) { global $post; $author_id = $post->post_author; printf(__('Author Archives: %s', 'roots'), get_the_author_meta('display_name', $author_id)); } else { single_cat_title(); } } elseif (is_search()) { printf(__('Search Results for %s', 'roots'), get_search_query()); } elseif (is_404()) { _e('File Not Found', 'roots'); } else { the_title(); } } function roots_template_path() { return Roots_Wrapping::$main_template; } function roots_sidebar_path() { return Roots_Wrapping::sidebar(); } class Roots_Wrapping { // Stores the full path to the main template file static $main_template; // Stores the base name of the template file; e.g. 'page' for 'page.php' etc. static $base; static function wrap($template) { self::$main_template = $template; self::$base = substr(basename(self::$main_template), 0, -4); if (self::$base === 'index') { self::$base = false; } $templates = array('base.php'); if (self::$base) { array_unshift($templates, sprintf('base-%s.php', self::$base)); } return locate_template($templates); } static function sidebar() { $templates = array('templates/sidebar.php'); if (self::$base) { array_unshift($templates, sprintf('templates/sidebar-%s.php', self::$base)); } return locate_template($templates); } } add_filter('template_include', array('Roots_Wrapping', 'wrap'), 99); // returns WordPress subdirectory if applicable function wp_base_dir() { preg_match('!(https?://[^/|"]+)([^"]+)?!', site_url(), $matches); if (count($matches) === 3) { return end($matches); } else { return ''; } } // opposite of built in WP functions for trailing slashes function leadingslashit($string) { return '/' . unleadingslashit($string); } function unleadingslashit($string) { return ltrim($string, '/'); } function add_filters($tags, $function) { foreach($tags as $tag) { add_filter($tag, $function); } } function is_element_empty($element) { $element = trim($element); return empty($element) ? false : true; }