我有一个WordPress网站,当用户向下滚动来自数据库的新数据时,其中的内容是动态生成的,例如页面的page变量增加
http://testsite.com/?page=2
现在,我想创建站点地图,以便可以索引所有动态生成的页面
我尝试这样做,但是问题是,在我创建站点地图的每次向下滚动中,都可以使用任何优雅的方法来做到这一点。我已将站点地图代码放在了滚动jQuery事件的后面
问题在于此代码也会在每个滚动中都使用重复链接创建站点地图
$sitemap .= '<?xml version="1.0" encoding="UTF-8"?>' . '<?xml-stylesheet type="text/xsl" href="' .
esc_url( home_url( '/' ) ) . 'sitemap.xsl"?>';
$sitemap .= "\n" . '<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">' . "\n";
$sitemap .= "\t" . '<url>' . "\n" .
"\t\t" . '<loc>' . esc_url( home_url( '/' ) ) . '</loc>' .
"\n\t\t" . '<lastmod>' . date( "Y-m-d\TH:i:s", current_time( 'timestamp', 0 ) ) . '</lastmod>' .
"\n\t\t" . '<changefreq>daily</changefreq>' .
"\n\t\t" . '<priority>1.0</priority>' .
"\n\t" . '</url>' . "\n";
foreach( $result as $row ) {
$sitemap .= "\t" . '<url>' . "\n" .
"\t\t" . '<loc>' . $row->ID . '</loc>' .
"\n\t\t" . '<lastmod>' . the_time( 'l, F jS, Y' ). '</lastmod>' .
"\n\t\t" . '<changefreq>Daily</changefreq>' .
"\n\t\t" . '<priority>0.9</priority>' .
"\n\t" . '</url>' . "\n";
}
$sitemap .= '</urlset>';
$fp = fopen( ABSPATH . "sitemap.xml", 'w' );
fwrite( $fp, $sitemap );
fclose( $fp );