'.$sitemap->get($atts).''; } add_shortcode('sitemap', 'wpv_shortcode_sitemap'); class shortcode_sitemap { public function get($atts) { if(method_exists($this, $atts['type'])) return $this->$atts['type']($atts); return ''; } private function pages($atts){ extract(shortcode_atts(array( 'number' => '0', 'depth' => '0', ), $atts)); return ''; } private function categories($atts){ extract(shortcode_atts(array( 'number' => '0', 'depth' => '0', 'show_count' => true, 'show_feed' => true, ), $atts)); if($show_count === 'false') $show_count = false; $feed = ($show_feed === true || $show_feed == 'true') ? __( 'RSS', 'wpv' ) : ''; return ''; } private function posts($atts){ extract(shortcode_atts(array( 'show_comment' => true, 'number' => '0', 'cat' => '', 'posts' => '', ), $atts)); if($number == 0) $number = 1000; if($show_comment === 'false') $show_comment = false; $query = array( 'showposts' => (int)$number, 'post_type'=>'post', ); if($cat) $query['cat'] = $cat; if($posts) $query['post__in'] = explode(',',$posts); $archive_query = new WP_Query( $query ); $output = ''; while ($archive_query->have_posts()) { $archive_query->the_post(); $output .= '
  • '. get_the_title(). ''. ($show_comment?' ('.get_comments_number().')':''). '
  • '; } wp_reset_query(); return ''; } private function portfolios($atts){ extract(shortcode_atts(array( 'show_comment' => false, 'number' => '0', 'cat' => '', ), $atts)); if($number == 0) $number = 1000; $show_comment = ($show_comment === 'true' && wpv_get_option('portfolio_enable_comment')); $query = array( 'showposts' => (int)$number, 'post_type'=>'portfolio', ); if($cat) { $query['taxonomy'] = 'portfolio_category'; $query['term'] = $cat; } query_posts( $query ); $output = ''; while (have_posts()) { the_post(); $output .= '
  • '. get_the_title(). ''. ($show_comment?' ('.get_comments_number().')':''). '
  • '; } wp_reset_query(); return ''; } private function all($atts){ extract(shortcode_atts(array( 'number' => '0', 'shows' => 'pages,categories,posts,portfolios', ), $atts)); $shows = explode(',', $shows); if(empty($shows)) return ''; $types = array( 'pages' => __('Pages','wpv'), 'categories' => __('Categories','wpv'), 'posts' => __('Posts','wpv'), 'portfolios' => __('Portfolios','wpv'), ); $output = ''; foreach($types as $type=>$name) if(in_array($type, $shows)) { $output .= "

    $name

    "; $output .= "
    "; $output .= $this->$type($atts); $output .= '
    '.__('Top','wpv').'
    '; } return $output; } }