コード例 #1
0
ファイル: related_entries.php プロジェクト: aragonc/3clicks
/**
 * 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>
コード例 #2
0
ファイル: shortcodes.php プロジェクト: aragonc/3clicks
 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;
 }
コード例 #3
0
ファイル: elements.php プロジェクト: aragonc/3clicks
 /**
  * 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;
     }
 }