/** * Determine the context that will be used by the content() method */ public function context() { global $wp_query; $context = Maera()->cache->get_context(); $post = new TimberPost(); $context['post'] = $post; $context['posts'] = Timber::get_posts(); // Compatibility hack or plugins that change the content. if ($this->plugins_compatibility()) { $context['content'] = maera_get_echo('the_content'); } if (is_singular()) { $context['wp_title'] .= ' - ' . $post->title(); } if (is_search()) { $context['title'] = __('Search results for ', 'maera') . get_search_query(); } if (is_archive() || is_home()) { $context['posts'] = Timber::query_posts(false, 'TimberPost'); $context['title'] = get_the_archive_title(); if (is_author()) { $author = new TimberUser($wp_query->query_vars['author']); $context['author'] = $author; } } if (class_exists('WooCommerce')) { global $product; $context['product'] = $product; } return $context; }
/** * Get context. * * @return array */ public static function get_context() { $data = array(); $data['http_host'] = 'http://' . TimberURLHelper::get_host(); $data['wp_title'] = TimberHelper::get_wp_title(); $data['wp_head'] = TimberHelper::function_wrapper('wp_head'); $data['wp_footer'] = TimberHelper::function_wrapper('wp_footer'); $data['body_class'] = implode(' ', get_body_class()); $data['site'] = new TimberSite(); $data['theme'] = $data['site']->theme; //deprecated, these should be fetched via TimberSite or TimberTheme $data['theme_dir'] = WP_CONTENT_SUBDIR . str_replace(WP_CONTENT_DIR, '', get_stylesheet_directory()); $data['language_attributes'] = TimberHelper::function_wrapper('language_attributes'); $data['stylesheet_uri'] = get_stylesheet_uri(); $data['template_uri'] = get_template_directory_uri(); $data['posts'] = Timber::query_posts(); //deprecated, this should be fetched via TimberMenu if (function_exists('wp_nav_menu')) { $locations = get_nav_menu_locations(); if (count($locations)) { $data['wp_nav_menu'] = wp_nav_menu(array('container_class' => 'menu-header', 'echo' => false, 'menu_class' => 'nav-menu')); } } $data = apply_filters('timber_context', $data); $data = apply_filters('timber/context', $data); return $data; }
/** * Get context. * * @return array */ public static function get_context() { $data = array(); $data['http_host'] = 'http://' . TimberURLHelper::get_host(); $data['wp_title'] = TimberHelper::get_wp_title(); $data['wp_head'] = TimberHelper::function_wrapper('wp_head'); $data['wp_footer'] = TimberHelper::function_wrapper('wp_footer'); $data['body_class'] = implode(' ', get_body_class()); $data['site'] = new TimberSite(); $data['theme'] = $data['site']->theme; $data['posts'] = Timber::query_posts(); $data = apply_filters('timber_context', $data); $data = apply_filters('timber/context', $data); return $data; }
<?php /** * The template for displaying Archive pages. * * Used to display archive-type pages if nothing more specific matches a query. * For example, puts together date-based pages if no date.php file exists. * * Learn more: http://codex.wordpress.org/Template_Hierarchy */ global $wp_query; $data = Maera()->template->context(); $data['title'] = __('Downloads', 'maera_edd'); $data['posts'] = Timber::query_posts(false, 'TimberPost'); $data['query'] = $wp_query->query_vars; // The in-cart class $data['in_cart'] = function_exists('edd_item_in_cart') && edd_item_in_cart($post->ID) && !edd_has_variable_prices($post->ID) ? 'in-cart' : ''; // The variable-priced class $data['variable_priced'] = function_exists('edd_has_variable_prices') && edd_has_variable_prices($post->ID) ? 'variable-priced' : ''; // Get a list with categories of each download (Isotope filtering) $terms = get_the_terms($post->ID, 'download_category'); if ($terms && !is_wp_error($terms)) { foreach ($terms as $term) { $download_categories[] = $term->slug; } $data['categories'] = join(' ', $download_categories); } else { $data['categories'] = ''; } // Get a list with tags of each download (Isotope filtering) $terms = get_the_terms($post->ID, 'download_tag');