让代码更简单

抛弃网站地图插件,代码实现WordPress网站html地图

重要:本文最后更新于2019-03-24 09:06:59,某些文章具有时效性,若有错误或已失效,请在下方留言或联系代码狗

网站地图是指包含一个网站所有页面地址的网页,另外,百度网站地图不是百度地图!请各位小白搜索的时候关键词别用错,别跑来问我百度地图怎么弄,我懂不起。刚开始建站的时候我觉得柳城的百度 XMLSitemap 生成器插件挺好用的,然后就一直用它,直到作者不更新了。虽然改点代码仍然可以使用,但是多多少少还是有点小问题的。比如谷歌会说他的插件生成的html版本网站地图页面可点击项间隔太小,不适合移动端使用的问题,所以我决定自己做一个网站地图页面。

代码狗博客新版网站地图:https://www.daimadog.org/sitemap

抛弃网站地图插件,代码实现WordPress网站html地图

抛弃网站地图插件,代码实现WordPress网站html地图

实现步骤

首先是要有一个前端模板,这是最重要的,不然不好看,这个我就不提供了。然后就是使用WordPress函数循环输出整站页面地址了,由于我做成了页面,自带头部导航与底部,所以我只需要所有页面、所有文章、所有标签,具体看下面代码。

输出所有页面地址

复制
<?php 
    $mypages = get_pages(); 
    if(count($mypages) > 0) {
        foreach($mypages as $page) { 
            echo get_page_link($page->ID);//输出页面地址
            echo $page->post_title;//输出页面标题
        }
     }
?>

输出所有文章地址

复制
<?php 
    $myposts = get_posts( "numberposts=1000");//这里输出1000条
    if(count($myposts) > 0) {
       foreach( $myposts as $post ) { 
            echo the_permalink();//输出文章地址
            echo the_title();//输出文章标题
        }
     }
?>

输出所有标签地址

复制
<?php 
   $tags = get_terms("post_tag");
   foreach ( $tags as $key => $tag ) { 
        echo get_term_link( intval($tag->term_id), "post_tag" );//输出标签地址
        echo $tag->name;//输出标签标题
    }     
?>

都是一个套路,遍历查询出的结果,核心部分就是上面这些了,如果你还需要导航菜单的地址,那你可能需要参考这个函数的使用:WordPress调用自定义导航菜单函数wp_nav_menu详解

有问题下面留言,xml地图下次再讲。

感觉很棒!可以赞赏支持我哟~

1 打赏

评论 (6)

登录后评论
WordPress现在自带了xml网站地图了
我发布的时候还没有
看了不会用,我是用谷歌插件生成的,丑的要命。
改改样式就漂亮了
很漂亮,但是我记得这几段代码很早就有了,并且不是这个效果……是不是教程偷工减料了?
...大哥,我给的只是输出链接和标题的,样式自己写呀。
QQ咨询 邮件咨询 狗哥推荐