So fügen Sie eine Sitemap in WordPress hinzu

藏色散人
Freigeben: 2021-01-19 16:29:48
nach vorne
2693 Leute haben es durchsucht

下面由WordPress教程栏目给大家介绍WordPress增加网站地图的方法,希望对需要的朋友有所帮助!

So fügen Sie eine Sitemap in WordPress hinzu

先说一句口号:能用代码解决的,坚决不用插件!

WordPress的网站地图用一般的生成工具,生成之后都不能用,比如织梦我常用sitemapx,结果放在WordPress就出错了。

WordPress生成网站地图的插件也有很多,大家可以自行百度,这里主要是讲利用代码生成。

1.先将以下代码将保存为 sitemap.php,传到网站根目录。 

<?php
require(&#39;./wp-blog-header.php&#39;);
header("Content-type: text/xml");
header(&#39;HTTP/1.1 200 OK&#39;);
$posts_to_show = 1000; 
echo &#39;<?xml version="1.0" encoding="UTF-8"?>&#39;;
echo &#39;<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:mobile="http://www.baidu.com/schemas/sitemap-mobile/1/">&#39;
?>
<!-- generated-on=<?php echo get_lastpostdate(&#39;blog&#39;); ?> Diy By 独立站大学(http://dulizhandaxue.com)-->
  <url>
      <loc><?php echo get_home_url(); ?></loc>
      <lastmod><?php $ltime = get_lastpostmodified(GMT);$ltime = gmdate(&#39;Y-m-d\TH:i:s+00:00&#39;, strtotime($ltime)); echo $ltime; ?></lastmod>
      <changefreq>daily</changefreq>
      <priority>1.0</priority>
  </url>
<?php
/* 文章页面 */ 
$myposts = get_posts( "numberposts=" . $posts_to_show );
foreach( $myposts as $post ) { ?>
  <url>
      <loc><?php the_permalink(); ?></loc>
      <lastmod><?php the_time(&#39;c&#39;) ?></lastmod>
      <changefreq>monthly</changefreq>
      <priority>0.6</priority>
  </url>
<?php } /* 文章循环结束 */ ?>  
<?php
/* 单页面 */ 
$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 }} /* 单页面循环结束 */ ?> 
<?php
/* 博客分类 */ 
$terms = get_terms(&#39;category&#39;, &#39;orderby=name&hide_empty=0&#39; );
$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 }} /* 分类循环结束 */?> 
<?php
 /* 标签(可选) */
$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  } /* 标签循环结束 */ ?> 
</urlset>
Nach dem Login kopieren

2.编辑 Nginx 伪静态规则,新增如下规则:

rewrite ^/sitemap.xml$ /sitemap.php last;
Nach dem Login kopieren

3.编辑网站根目录的.htaccess(如果没有则新建为txt文档),加入如下规则:

RewriteRule ^(sitemap)\.xml$ $1.php
Nach dem Login kopieren

直接访问网站域名+sitemap.xml即可。

Das obige ist der detaillierte Inhalt vonSo fügen Sie eine Sitemap in WordPress hinzu. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:csdn.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!