예제 #1
0
 function vce_pre_get_posts($query)
 {
     if (!is_admin() && $query->is_main_query()) {
         /* Check whether to change number of posts per page for specific archive template if specifed in theme options */
         $template = vce_detect_template();
         $ppp = vce_get_option($template . '_ppp');
         if ($ppp == 'custom') {
             $ppp = absint(vce_get_option($template . '_ppp_num'));
             if ($template == 'category') {
                 $obj = get_queried_object();
                 $cat_meta = vce_get_category_meta($obj->term_id);
                 if ($cat_meta['layout'] != 'inherit' && !empty($cat_meta['ppp'])) {
                     $ppp = $cat_meta['ppp'];
                 }
             }
             $query->set('posts_per_page', $ppp);
         }
         /*Check for featured area on category page and exclude those posts from main post listing */
         if ($template == 'category') {
             global $vce_cat_fa_args;
             $vce_cat_fa_args = vce_get_fa_cat_args();
             if (vce_get_option('category_fa_not_duplicate')) {
                 if (isset($vce_cat_fa_args['fa_posts']) && !empty($vce_cat_fa_args['fa_posts'])) {
                     $exclude_ids = array();
                     foreach ($vce_cat_fa_args['fa_posts']->posts as $p) {
                         $exclude_ids[] = $p->ID;
                     }
                     $query->set('post__not_in', $exclude_ids);
                 }
             }
         }
     }
 }
예제 #2
0
 function vce_get_current_sidebar()
 {
     /* Default */
     $use_sidebar = 'none';
     $sidebar = 'vce_default_sidebar';
     $sticky_sidebar = 'vce_default_sticky_sidebar';
     $vce_template = vce_detect_template();
     if (in_array($vce_template, array('search', 'tag', 'author', 'archive'))) {
         $use_sidebar = vce_get_option($vce_template . '_use_sidebar');
         if ($use_sidebar != 'none') {
             $sidebar = vce_get_option($vce_template . '_sidebar');
             $sticky_sidebar = vce_get_option($vce_template . '_sticky_sidebar');
         }
     } else {
         if ($vce_template == 'category') {
             $obj = get_queried_object();
             if (isset($obj->term_id)) {
                 $meta = vce_get_category_meta($obj->term_id);
             }
             if ($meta['use_sidebar'] != 'none') {
                 $use_sidebar = $meta['use_sidebar'] == 'inherit' ? vce_get_option($vce_template . '_use_sidebar') : $meta['use_sidebar'];
                 if ($use_sidebar) {
                     $sidebar = $meta['sidebar'] == 'inherit' ? vce_get_option($vce_template . '_sidebar') : $meta['sidebar'];
                     $sticky_sidebar = $meta['sticky_sidebar'] == 'inherit' ? vce_get_option($vce_template . '_sticky_sidebar') : $meta['sticky_sidebar'];
                 }
             }
         } else {
             if ($vce_template == 'single') {
                 $meta = vce_get_post_meta(get_the_ID());
                 $use_sidebar = $meta['use_sidebar'] == 'inherit' ? vce_get_option($vce_template . '_use_sidebar') : $meta['use_sidebar'];
                 if ($use_sidebar != 'none') {
                     $sidebar = $meta['sidebar'] == 'inherit' ? vce_get_option($vce_template . '_sidebar') : $meta['sidebar'];
                     $sticky_sidebar = $meta['sticky_sidebar'] == 'inherit' ? vce_get_option($vce_template . '_sticky_sidebar') : $meta['sticky_sidebar'];
                 }
             } else {
                 if (in_array($vce_template, array('home_page', 'page', 'posts_page'))) {
                     if ($vce_template == 'posts_page') {
                         $meta = vce_get_page_meta(get_option('page_for_posts'));
                     } else {
                         $meta = vce_get_page_meta(get_the_ID());
                     }
                     $use_sidebar = $meta['use_sidebar'] == 'inherit' ? vce_get_option('page_use_sidebar') : $meta['use_sidebar'];
                     if ($use_sidebar != 'none') {
                         $sidebar = $meta['sidebar'] == 'inherit' ? vce_get_option('page_sidebar') : $meta['sidebar'];
                         $sticky_sidebar = $meta['sticky_sidebar'] == 'inherit' ? vce_get_option('page_sticky_sidebar') : $meta['sticky_sidebar'];
                     }
                 }
             }
         }
     }
     $args = array('use_sidebar' => $use_sidebar, 'sidebar' => $sidebar, 'sticky_sidebar' => $sticky_sidebar);
     return $args;
 }