/** * For the full license information, please view the Licensing folder * that was distributed with this source code. * * @package G1_Theme03 * @subpackage G1_Relations_Module * @since G1_Relations_Module 1.0.0 */ // Prevent direct script access if (!defined('ABSPATH')) { die('No direct script access allowed'); } $g1_post_type = get_post_type(); // Hide all elements except the title and the featured media $g1_hide = G1_Collection_Element_Manager()->get_default_values($g1_post_type); unset($g1_hide['title']); unset($g1_hide['featured-media']); $g1_hide = implode(',', array_keys($g1_hide)); $g1_out = G1_Related_Collection_Shortcode($g1_post_type)->shortcode(array('max' => 4, 'template' => 'one-fourth', 'hide' => $g1_hide), null); if (strlen($g1_out)) { ?> <aside class="g1-related-entries"> <h3><?php _e('Related entries', 'g1_theme'); ?> </h3> <?php echo $g1_out; ?> </aside>
protected function get_elements() { $elems = G1_Collection_Element_Manager()->get_default_values($this->get_post_type()); $hide = $this->get_attribute('hide')->get_value(); // Normalize the value $hide = str_replace('_', '-', $hide); foreach (explode(',', $hide) as $element) { $element = trim($element); if (array_key_exists($element, $elems)) { $elems[$element] = false; } } return $elems; }
/** * Get elements of the current context * * @return array */ public function get($id = null) { $elements = array(); if (is_singular()) { $elements = G1_Single_Element_Manager()->get_single_values(); } elseif (is_home() || is_post_type_archive()) { $post_type = get_query_var('post_type'); if (empty($post_type)) { $post_type = 'post'; } $page_id = G1_Archive_Page_Feature()->get_page_id($post_type); // WPML fallback if (function_exists('icl_object_id')) { $page_id = absint(icl_object_id($page_id, 'page', true)); } if ($page_id) { $elements = G1_Single_Element_Manager()->get_single_values($page_id); } else { $elements = G1_Single_Element_Manager()->get_default_values('page'); } $elements['collection'] = G1_Collection_Element_Manager()->get_post_type_archive_values(); } elseif (is_archive()) { $post_type = get_query_var('post_type'); if (empty($post_type)) { $post_type = 'post'; } $elements = G1_Single_Element_Manager()->get_default_values('post'); $elements['collection'] = array(); if (is_date() || is_author()) { $elements['collection'] = G1_Collection_Element_Manager()->get_default_values('post'); } elseif (is_category()) { $taxonomy = 'category'; $term = get_query_var('cat'); if (is_numeric($term)) { $term_obj = get_term_by('id', $term, $taxonomy); } else { $term_obj = get_term_by('slug', $term, $taxonomy); } $elements['sidebar-1'] = $this->get_sidebar($term_obj->term_taxonomy_id, 'category'); if ($term_obj) { $elements['collection'] = G1_Collection_Element_Manager()->get_term_values($term_obj); } else { $elements['collection'] = G1_Collection_Element_Manager()->get_default_values('post'); } } elseif (is_tag()) { $taxonomy = 'post_tag'; $term = get_query_var('tag'); if (is_numeric($term)) { $term_obj = get_term_by('id', $term, $taxonomy); } else { $term_obj = get_term_by('slug', $term, $taxonomy); } $elements['sidebar-1'] = $this->get_sidebar($term_obj->term_taxonomy_id, 'post_tag'); if ($term_obj) { $elements['collection'] = G1_Collection_Element_Manager()->get_term_values($term_obj); } else { $elements['collection'] = G1_Collection_Element_Manager()->get_default_values('post'); } } elseif (is_tax()) { $taxonomy = get_query_var('taxonomy'); $term = get_query_var('term'); $term_obj = get_term_by('slug', $term, $taxonomy); if ($term_obj) { $elements['sidebar-1'] = $this->get_sidebar($term_obj->term_taxonomy_id, $taxonomy); $elements['collection'] = G1_Collection_Element_Manager()->get_term_values($term_obj); } } } // Apply custom filter $elements = apply_filters('g1_get_elements', $elements); // Replace 'none' values with boolean false $elements = $this->replace_none_values($elements); if (null !== $id) { if (array_key_exists($id, $elements)) { return $elements[$id]; } else { return null; } } else { return $elements; } }