示例#1
0
 function start_el(&$output, $item, $depth = 0, $args = array(), $id = 0)
 {
     $indent = $depth > 0 ? str_repeat("\t", $depth) : '';
     // code indent
     // depth dependent classes
     $depth_classes = array($depth == 0 ? 'main-menu-item' : 'sub-menu-item', $depth >= 2 ? 'sub-sub-menu-item' : '', $depth % 2 ? 'menu-item-odd' : 'menu-item-even', 'menu-item-depth-' . $depth);
     // if ( $depth == 0 ) {
     // 	$depth_classes[] = $this->vw_menu_class;
     // }
     $depth_class_names = esc_attr(implode(' ', $depth_classes));
     // passed classes
     $classes = empty($item->classes) ? array() : (array) $item->classes;
     if ($depth == 0) {
         $classes[] = 'vw-mega-menu-type-' . $item->vw_menu_type;
         if (strpos($item->vw_menu_type, 'category') === 0) {
             $classes[] = 'vw-mega-menu-has-posts';
         }
         if ($item->object == 'category') {
             $classes[] = vw_get_the_category_class($item->object_id);
         }
     }
     $class_names = esc_attr(implode(' ', apply_filters('nav_menu_css_class', array_filter($classes), $item)));
     // build html
     $output .= $indent . '<li class="nav-menu-item-' . $item->ID . ' ' . $depth_class_names . ' ' . $class_names . '">';
     // link attributes
     $attributes = !empty($item->attr_title) ? ' title="' . esc_attr($item->attr_title) . '"' : '';
     $attributes .= !empty($item->target) ? ' target="' . esc_attr($item->target) . '"' : '';
     $attributes .= !empty($item->xfn) ? ' rel="' . esc_attr($item->xfn) . '"' : '';
     $attributes .= !empty($item->url) ? ' href="' . esc_attr($item->url) . '"' : '';
     $attributes .= ' class="menu-link ' . ($depth > 0 ? 'sub-menu-link' : 'main-menu-link') . '"';
     $item_output = sprintf('%1$s<a %2$s>%3$s%4$s%5$s</a>%6$s', $args->before, $attributes, $args->link_before, apply_filters('the_title', $item->title, $item->ID), $args->link_after, $args->after);
     /* Add custom menu */
     $item_output .= '<div class="sub-menu-wrapper">';
     // build html
     $output .= apply_filters('walker_nav_menu_start_el', $item_output, $item, $depth, $args);
 }
示例#2
0
 function vw_the_category($classes = '')
 {
     $categories = get_the_category();
     if ($categories) {
         echo '<div class="vw-post-categories">';
         foreach ($categories as $category) {
             $classes .= ' vw-category-link ' . vw_get_the_category_class($category->term_id);
             echo '<a class="' . esc_attr($classes) . '" href="' . get_category_link($category->term_id) . '" title="' . esc_attr(sprintf(__("View all posts in %s", 'envirra'), $category->name)) . '" rel="category">' . $category->cat_name . '</a>';
         }
         echo '</div>';
     }
 }
    function vw_render_spc_section_post_box_sidebar($args)
    {
        extract($args);
        $number_of_post = get_post_meta($page_id, $field_prefix . '_number', true);
        $layout = get_post_meta($page_id, $field_prefix . '_layout', true);
        $title = get_post_meta($page_id, $field_prefix . '_title', true);
        $category = get_post_meta($page_id, $field_prefix . '_category', true);
        $exclude_categories = get_post_meta($page_id, $field_prefix . '_exclude_categories', true);
        $posts_order = get_post_meta($page_id, $field_prefix . '_posts_order', true);
        $sidebar = get_post_meta($page_id, $field_prefix . '_sidebar', true);
        printf($before_section, 'post-box-sidebar');
        $query_args = array('post_type' => 'post', 'orderby' => 'post_date', 'order' => 'DESC', 'ignore_sticky_posts' => true, 'posts_per_page' => $number_of_post, 'meta_query' => array());
        if (!empty($category)) {
            $query_args['cat'] = $category;
            if (!empty($title)) {
                $title = '<span class="' . vw_get_the_category_class($category) . '">' . $title . '</span>';
            }
        }
        if (!empty($exclude_categories)) {
            $query_args['category__not_in'] = explode(',', $exclude_categories);
        }
        if ($posts_order == 'latest_posts') {
            // do nothing, it's a default ordering
        } elseif ($posts_order == 'latest_gallery_posts') {
            $query_args['tax_query'] = array(array('taxonomy' => 'post_format', 'field' => 'slug', 'terms' => array('post-format-gallery')));
        } elseif ($posts_order == 'latest_video_posts') {
            $query_args['tax_query'] = array(array('taxonomy' => 'post_format', 'field' => 'slug', 'terms' => array('post-format-video')));
        } elseif ($posts_order == 'latest_audio_posts') {
            $query_args['tax_query'] = array(array('taxonomy' => 'post_format', 'field' => 'slug', 'terms' => array('post-format-audio')));
        } elseif ($posts_order == 'latest_featured') {
            $query_args['meta_query'][] = array('key' => 'vw_post_featured', 'value' => '1', 'compare' => '=');
        } elseif ($posts_order == 'latest_reviews') {
            $query_args['meta_query'][] = array('key' => 'vw_enable_review', 'value' => '1', 'compare' => '=');
        } elseif ($posts_order == 'most_review_scores') {
            $query_args['orderby'] = 'meta_value_num';
            $query_args['meta_key'] = 'vw_review_average_score';
            $query_args['meta_query'][] = array('key' => 'vw_enable_review', 'value' => '1', 'compare' => '=');
        } elseif ($posts_order == 'most_viewed') {
            $query_args['orderby'] = 'meta_value_num';
            $query_args['meta_key'] = 'vw_post_views';
        }
        // ==== Begin temp query =====================================
        // $query_args['p'] = 1292;
        // $query_args['post__in'] = array( 1292, 1304 );
        // $query_args['meta_query'][] = array(
        // 	'key' => '_thumbnail_id',
        // 	'compare' => 'EXISTS'
        // );
        // ==== End temp query =====================================
        query_posts($query_args);
        $template_file = sprintf('templates/post-box/post-layout-%s.php', $layout);
        ?>
		<div class="container">
			<div class="row">
				<div class="col-md-8">
					<?php 
        include locate_template($template_file, false, false);
        ?>
				</div>
				<div class="col-md-4">
					<?php 
        dynamic_sidebar($sidebar);
        ?>
				</div>
			</div>
			
		</div>
		<?php 
        echo $after_section;
        wp_reset_query();
    }
示例#4
0
 function vw_shortcode_posts($atts, $content = null)
 {
     $defaults = array('title' => '', 'cat' => '', 'cat_name' => '', 'cat_exclude' => '', 'tag' => '', 'format' => '', 'featured' => '', 'layout' => 'boxed', 'count' => '6', 'order' => 'latest');
     extract(shortcode_atts($defaults, $atts));
     global $post;
     $query_args = array('post_type' => 'post', 'ignore_sticky_posts' => true, 'posts_per_page' => $count, 'order' => 'DESC');
     if (!empty($cat_name)) {
         $query_args['category_name'] = $cat_name;
         if (!empty($title)) {
             $category = get_category_by_slug($cat_name);
             $title = '<span class="' . vw_get_the_category_class($category->term_id) . '">' . $title . '</span>';
         }
     }
     if (!empty($cat)) {
         $query_args['cat'] = $cat;
         if (!empty($title)) {
             $title = '<span class="' . vw_get_the_category_class($cat) . '">' . $title . '</span>';
         }
     }
     if (!empty($cat_exclude)) {
         $query_args['category__not_in '] = $cat_exclude;
     }
     if (!empty($tag)) {
         $query_args['tag__in'] = $tag;
     }
     if (!empty($format)) {
         $query_args['tax_query'][] = array('taxonomy' => 'post_format', 'field' => 'slug', 'terms' => sprintf('post-format-%s', strtolower($format)));
     }
     if (!empty($featured)) {
         $query_args['meta_query'][] = array('key' => 'vw_post_featured', 'value' => '1', 'compare' => '=');
     }
     if ('latest' == $order) {
         $query_args['orderby'] = 'post_date';
     } elseif ('random' == $order) {
         $query_args['orderby'] = 'rand';
     } elseif ('popular' == $order) {
         $query_args['orderby'] = 'meta_value_num';
         $query_args['meta_key'] = 'vw_post_likes';
     } elseif ('viewed' == $order) {
         $query_args['orderby'] = 'meta_value_num';
         $query_args['meta_key'] = 'vw_post_views';
     } elseif ('reviews' == $order) {
         $query_args['orderby'] = 'meta_value_num';
         $query_args['meta_key'] = 'vw_review_average_score';
     }
     query_posts($query_args);
     $template_file = vw_build_template_path('templates/post-box/post-layout-%s.php', $layout);
     ob_start();
     include locate_template($template_file, false, false);
     wp_reset_query();
     return ob_get_clean();
 }