在这里是在有些惭愧,这个功能是拔的知更鸟,目前在搜索引擎站长上面提交的sitemap有两种,一种是xml格式,另一种txt格式;但是一点优化一直找不到自己喜欢的sitemap,因为用知更鸟的用久了,个人也比较喜欢知更鸟这边,自己写也可以,但是有现成的,在下就偷偷懒,咳咳咳!对了,这两个格式的代码只适用于BIT主题,喜欢的可以自己改改;下面是代码。
sitemap.xml格式地图
<?php function wp_get_xml_sitemap() { ob_start(); echo '<?xml version="1.0" encoding="UTF-8"?>'; ?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:mobile="http://www.baidu.com/schemas/sitemap-mobile/1/"> <!-- generated-on=<?php echo get_lastpostdate('blog'); ?> --> <url> <loc><?php echo get_home_url(); ?></loc> <lastmod><?php echo gmdate('Y-m-d\TH:i:s+00:00', strtotime(get_lastpostmodified('GMT'))); ?></lastmod> <changefreq>daily</changefreq> <priority>1.0</priority> </url> <?php $posts = get_posts('numberposts=' .of_get_option('sitemap_n') . '&orderby=post_date&order=DESC'); foreach($posts as $post) : ?> <url> <loc><?php echo get_permalink($post->ID); ?></loc> <lastmod><?php echo str_replace(" ", "T", get_post($post->ID)->post_modified); ?>+00:00</lastmod> <changefreq>monthly</changefreq> <priority>0.6</priority> </url> <?php endforeach; $posts = get_posts('post_type=bulletin&numberposts=' .of_get_option('sitemap_n') . '&orderby=post_date&order=DESC'); foreach($posts as $post) : ?> <?php if (of_get_option('no_bulletin')) { ?> <url> <loc><?php echo get_permalink($post->ID); ?></loc> <lastmod><?php echo str_replace(" ", "T", get_post($post->ID)->post_modified); ?>+00:00</lastmod> <changefreq>monthly</changefreq> <priority>0.6</priority> </url> <?php } ?> <?php endforeach; $posts = get_posts('post_type=picture&numberposts=' .of_get_option('sitemap_n') . '&orderby=post_date&order=DESC'); foreach($posts as $post) : ?> <?php if (of_get_option('no_gallery')) { ?> <url> <loc><?php echo get_permalink($post->ID); ?></loc> <lastmod><?php echo str_replace(" ", "T", get_post($post->ID)->post_modified); ?>+00:00</lastmod> <changefreq>monthly</changefreq> <priority>0.6</priority> </url> <?php } ?> <?php endforeach; $posts = get_posts('post_type=video&numberposts=' .of_get_option('sitemap_n') . '&orderby=post_date&order=DESC'); foreach($posts as $post) : ?> <?php if (of_get_option('no_videos')) { ?> <url> <loc><?php echo get_permalink($post->ID); ?></loc> <lastmod><?php echo str_replace(" ", "T", get_post($post->ID)->post_modified); ?>+00:00</lastmod> <changefreq>monthly</changefreq> <priority>0.6</priority> </url> <?php } ?> <?php endforeach; $posts = get_posts('post_type=tao&numberposts=' .of_get_option('sitemap_n') . '&orderby=post_date&order=DESC'); foreach($posts as $post) : ?> <?php if (of_get_option('no_tao')) { ?> <url> <loc><?php echo get_permalink($post->ID); ?></loc> <lastmod><?php echo str_replace(" ", "T", get_post($post->ID)->post_modified); ?>+00:00</lastmod> <changefreq>monthly</changefreq> <priority>0.6</priority> </url> <?php } ?> <?php endforeach; $posts = get_posts('post_type=show&numberposts=' .of_get_option('sitemap_n') . '&orderby=post_date&order=DESC'); foreach($posts as $post) : ?> <?php if (of_get_option('no_products')) { ?> <url> <loc><?php echo get_permalink($post->ID); ?></loc> <lastmod><?php echo str_replace(" ", "T", get_post($post->ID)->post_modified); ?>+00:00</lastmod> <changefreq>monthly</changefreq> <priority>0.6</priority> </url> <?php } ?> <?php endforeach; $categorys = get_terms('category', 'orderby=name&hide_empty=0'); foreach ($categorys as $category) : ?> <url> <loc><?php echo get_term_link($category, $category->slug); ?></loc> <changefreq>weekly</changefreq> <priority>0.8</priority> </url> <?php endforeach; $tags = get_terms('post_tag', 'orderby=name&hide_empty=0'); foreach ($tags as $tag) : ?> <?php if (of_get_option('no_sitemap_tag')) { ?> <url> <loc><?php echo get_term_link($tag, $tag->slug); ?></loc> <changefreq>monthly</changefreq> <priority>0.4</priority> </url> <?php } ?> <?php endforeach; $categorys = get_terms('notice', 'orderby=name&hide_empty=0'); foreach ($categorys as $category) : ?> <?php if (of_get_option('no_bulletin')) { ?> <url> <loc><?php echo get_term_link($category, $category->slug); ?></loc> <changefreq>weekly</changefreq> <priority>0.8</priority> </url> <?php } ?> <?php endforeach; $categorys = get_terms('gallery', 'orderby=name&hide_empty=0'); foreach ($categorys as $category) : ?> <?php if (of_get_option('no_gallery')) { ?> <url> <loc><?php echo get_term_link($category, $category->slug); ?></loc> <changefreq>weekly</changefreq> <priority>0.8</priority> </url> <?php } ?> <?php endforeach; $categorys = get_terms('videos', 'orderby=name&hide_empty=0'); foreach ($categorys as $category) : ?> <?php if (of_get_option('no_videos')) { ?> <url> <loc><?php echo get_term_link($category, $category->slug); ?></loc> <changefreq>weekly</changefreq> <priority>0.8</priority> </url> <?php } ?> <?php endforeach; $categorys = get_terms('taobao', 'orderby=name&hide_empty=0'); foreach ($categorys as $category) : ?> <?php if (of_get_option('no_tao')) { ?> <url> <loc><?php echo get_term_link($category, $category->slug); ?></loc> <changefreq>weekly</changefreq> <priority>0.8</priority> </url> <?php } ?> <?php endforeach; $categorys = get_terms('products', 'orderby=name&hide_empty=0'); foreach ($categorys as $category) : ?> <?php if (of_get_option('no_products')) { ?> <url> <loc><?php echo get_term_link($category, $category->slug); ?></loc> <changefreq>weekly</changefreq> <priority>0.8</priority> </url> <?php } ?> <?php endforeach; ?> </urlset> <?php $sitemap = ob_get_contents(); ob_clean(); return $sitemap; }
sitemap.txt格式网站地图
<?php function wp_get_txt_sitemap() { ob_start(); ?> <?php echo get_home_url(); ?> <?php $posts = get_posts('numberposts=' .of_get_option('sitemap_n') . '&orderby=post_date&order=DESC'); foreach($posts as $post) : ?> <?php echo get_permalink($post->ID); ?> <?php endforeach; $posts = get_posts('post_type=bulletin&numberposts=' .of_get_option('sitemap_n') . '&orderby=post_date&order=DESC'); foreach($posts as $post) : ?> <?php if (of_get_option('no_bulletin')) { ?> <?php echo get_permalink($post->ID); ?> <?php } ?> <?php endforeach; $posts = get_posts('post_type=picture&numberposts=' .of_get_option('sitemap_n') . '&orderby=post_date&order=DESC'); foreach($posts as $post) : ?> <?php if (of_get_option('no_gallery')) { ?> <?php echo get_permalink($post->ID); ?> <?php } ?> <?php endforeach; $posts = get_posts('post_type=video&numberposts=' .of_get_option('sitemap_n') . '&orderby=post_date&order=DESC'); foreach($posts as $post) : ?> <?php if (of_get_option('no_videos')) { ?> <?php echo get_permalink($post->ID); ?> <?php } ?> <?php endforeach; $posts = get_posts('post_type=tao&numberposts=' .of_get_option('sitemap_n') . '&orderby=post_date&order=DESC'); foreach($posts as $post) : ?> <?php if (of_get_option('no_tao')) { ?> <?php echo get_permalink($post->ID); ?> <?php } ?> <?php endforeach; $posts = get_posts('post_type=show&numberposts=' .of_get_option('sitemap_n') . '&orderby=post_date&order=DESC'); foreach($posts as $post) : ?> <?php if (of_get_option('no_products')) { ?> <?php echo get_permalink($post->ID); ?> <?php } ?> <?php endforeach; $categorys = get_terms('category', 'orderby=name&hide_empty=0'); foreach ($categorys as $category) : ?> <?php echo get_term_link($category, $category->slug); ?> <?php endforeach; $tags = get_terms('post_tag', 'orderby=name&hide_empty=0'); foreach ($tags as $tag) : ?> <?php if (of_get_option('no_sitemap_tag')) { ?> <?php echo get_term_link($tag, $tag->slug); ?> <?php } ?> <?php endforeach; $categorys = get_terms('notice', 'orderby=name&hide_empty=0'); foreach ($categorys as $category) : ?> <?php if (of_get_option('no_bulletin')) { ?> <?php echo get_term_link($category, $category->slug); ?> <?php } ?> <?php endforeach; $categorys = get_terms('gallery', 'orderby=name&hide_empty=0'); foreach ($categorys as $category) : ?> <?php if (of_get_option('no_gallery')) { ?> <?php echo get_term_link($category, $category->slug); ?> <?php } ?> <?php endforeach; $categorys = get_terms('videos', 'orderby=name&hide_empty=0'); foreach ($categorys as $category) : ?> <?php if (of_get_option('no_videos')) { ?> <?php echo get_term_link($category, $category->slug); ?> <?php } ?> <?php endforeach; $categorys = get_terms('taobao', 'orderby=name&hide_empty=0'); foreach ($categorys as $category) : ?> <?php if (of_get_option('no_tao')) { ?> <?php echo get_term_link($category, $category->slug); ?> <?php } ?> <?php endforeach; $categorys = get_terms('products', 'orderby=name&hide_empty=0'); foreach ($categorys as $category) : ?> <?php if (of_get_option('no_products')) { ?> <?php echo get_term_link($category, $category->slug); ?> <?php } ?> <?php endforeach; ?> <?php $sitemap_txt = ob_get_contents(); ob_clean(); return $sitemap_txt; }