WordPress website map sitemap.xml pure code setting method [valid for personal testing]

The home page, article, single page, classification and label sitemap can be generated at the same time!

1、 PHP code

 <? php require('./ wp-blog-header.php'); header("Content-type: text/xml"); header('HTTP/1.1 200 OK'); $posts_to_show = 1000;  echo '<?xml version="1.0" encoding="UTF-8"?>'; echo '<urlset xmlns=" http://www.sitemaps.org/schemas/sitemap/0.9 " xmlns:mobile=" http://www.baidu.com/schemas/sitemap-mobile/1/ ">' ?> <url> <loc><? php echo get_home_url(); ?></ loc> <lastmod><? php $ltime = get_lastpostmodified(GMT);$ ltime = gmdate('Y-m-dTH:i:s+00:00', strtotime($ltime));  echo $ltime; ?></lastmod> <changefreq>daily</changefreq> <priority>1.0</priority> </url> <? php /*Article page*/ $myposts = get_posts( "numberposts=" . $posts_to_show ); foreach( $myposts as $post ) { ?> <url> <loc><? php the_permalink(); ?></ loc> <lastmod><? php the_time('c') ?></ lastmod> <changefreq>monthly</changefreq> <priority>0.6</priority> </url> <? Php}/* End of article cycle */?> <? php /*Single page*/ $mypages = get_pages(); if(count($mypages) > 0) { foreach($mypages as $page) { ?> <url> <loc><? php echo get_page_link($page->ID); ?></ loc> <lastmod><? php echo str_replace(" ","T",get_page($page->ID)->post_modified); ?>+ 00:00</lastmod> <changefreq>weekly</changefreq> <priority>0.6</priority> </url> <? Php}}/* End of single page cycle */?> <? php /*Blog Category*/ $terms = get_terms('category', 'orderby=name&hide_empty=0' ); $count = count($terms); if($count > 0){ foreach ($terms as $term) { ?> <url> <loc><? php echo get_term_link($term, $term->slug); ?></ loc> <changefreq>weekly</changefreq> <priority>0.8</priority> </url> <? Php}}/* End of classification cycle */?> <? php /*Label (optional)*/ $tags = get_terms("post_tag"); foreach ( $tags as $key => $tag ) { $link = get_term_link( intval($tag->term_id), "post_tag" ); if ( is_wp_error( $link ) ) return false; $tags[ $key ]->link = $link; ?> <url> <loc><? php echo $link ?></loc> <changefreq>monthly</changefreq> <priority>0.4</priority> </url> <? Php}/* End of tag cycle */?> </urlset>

Save the above code as sitemap. php and transfer it to the root directory of the website.

2、 Pseudo static

Nginx
Edit the existing Nginx pseudo static rules, add the following rules, and then (smoothly) restart nginx:

 rewrite ^/sitemap.xml$ /sitemap.php last;

Apache
Edit. htaccess in the root directory of the website and add the following rules:

 RewriteRule ^(sitemap).xml$ $1.php

After completing the pseudo static rules, you can directly visit sitemap.xml to see the effect

 Watson Blog
  • This article is written by Published on May 10, 2019 08:19:07
  • This article is collected and sorted by the website of Mutual Benefit, and the email address for problem feedback is: wosnnet@foxmail.com , please keep the link of this article for reprinting: https://wosn.net/2341.html

Comment