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); }
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(); }
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(); }