Skip to content

Instantly share code, notes, and snippets.

@mi-ca
Created August 16, 2017 13:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mi-ca/1ef58a573a5de922ce9519647a4d18ac to your computer and use it in GitHub Desktop.
Save mi-ca/1ef58a573a5de922ce9519647a4d18ac to your computer and use it in GitHub Desktop.
Wordpress Routes to make a Sitemap
<?php
/* paste at the top of base.php */
global $wp_query;
if(isset($wp_query->query_vars['sitemap'])){
$blogs=get_blogs_urls();
$menu = wp_get_nav_menu_items('Menu Principal');
$sm='';
$sm.="<?xml version=\"1.0\" encoding=\"UTF-8\"?>"."\n";
$sm.='<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">'."\n";
foreach ($menu as $menuItem) {
// pa($menuItem);
$sm.="<url>\n<loc>".$menuItem->url.'</loc></url>';
}
if(!empty($blogs)){
foreach ($blogs as $url) {
$sm.="<url>\n<loc>".$url.'</loc></url>';
}
}#pdf
$sm.='</urlset>';
// pa($menu);
header('Content-type: application/xml');
echo $sm;
die();
}
<?php
/**
* Add some rewrite rules */
function sitemap_rewrites_init(){
add_rewrite_rule(
'sitemap/?',
'index.php?sitemap=true',
'top' );
}
add_filter( 'query_vars', 'sitemap_query_vars' );
function sitemap_query_vars( $query_vars ){
$query_vars[] = 'sitemap';
return $query_vars;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment