WordPress: 带 favicon.ico 显示的友情链接自定义页面

» 2011-10-15 98条评论

总是有朋友问起,虽然网上搜一下就能找到,不过问多了就觉得有点回答麻烦,干脆写个文章以后可以直接扔文章地址。

我只说步骤,不解析原理,需要了解的朋友可以去我这代码源出处 qiqiboy.com 搜索一下。

> 示例页面:点击

1. 上传一个 16×16 大小的图片作为木有 favicon.ico 的网站默认 ico,把图片上传到所用主题的 images 目录下,这里示例中默认 ico 图片是 links_default.gif

2. 复制一份你主题的 page.php,改名为 page-links.php

3. 在 page-links.php 找到文章内容输出函数 <?php the_content(); ?>,在其下面加入下面的代码,注意看代码注释:

<div class="page-links">
    <h3>页内链接</h3>
    <ul>
        <?php
        $default_ico = get_template_directory_uri().'/images/links_default.gif'; //默认 ico 图片位置
        $bookmarks = get_bookmarks('title_li=&orderby=rand'); //全部链接随机输出
        //如果你要输出某个链接分类的链接,更改一下get_bookmarks参数即可
        //如要输出链接分类ID为5的链接 title_li=&categorize=0&category=5&orderby=rand
        if ( !empty($bookmarks) ) {
            foreach ($bookmarks as $bookmark) {
            echo '<li><img src="', $bookmark->link_url , '/favicon.ico" onerror="javascript:this.src=\'' , $default_ico , '\'" /><a href="' , $bookmark->link_url , '" title="' , $bookmark->link_description , '" target="_blank" >' , $bookmark->link_name , '</a></li>';
            }
        }
        ?>
    </ul>
</div>

4. 为了好看点,你可以给 page-links 这个class定义一下样式,下面是我的主题所用样式,可以参考一下:

.page-links{overflow:hidden;margin:0 0 24px;padding:0;}
.page-links h3{border-bottom:1px solid #bfbebe;text-align:center;margin:0;}
.page-links ul{margin:0;padding:5px 0 0 0;}
.page-links ul li{float:left;width:150px;line-height:16px;height:16px;margin:5px 5px 0;padding:0;list-style-type:none;}
.page-links ul li:hover{background:#f2f2f2;}
.page-links ul li img{width:16px;height:16px;margin:0 5px -2px 0;padding:0;border:none;}

5. 建立一个页面,别名(slug)为 links 即可。

完!

zww
or
oooo

“WordPress: 带 favicon.ico 显示的友情链接自定义页面”有98条评论

  1. 林木木 says:

    杀勒个发 —_—!

    1. Dick_Wu says:

      @林木木
      蹭沙发。。。。。。

  2. 林木木 says:

    恩,这个方法不错~

  3. A.shun says:

    前排,既然是现成的,那我也要加上(懒啊- -

    1. zwwooooo says:

      @A.shun
      你是木有时间……

  4. 无冷 says:

    这个就全部都是一样的图标了 :smile:

    1. zwwooooo says:

      @无冷
      哪里会全部一样?没有ico的才会显示默认的

  5. Demon says:

    听说这个样影响速度么。

    1. zwwooooo says:

      @Demon
      会,但这个页面访问的人不多的

  6. 有点蓝 says:

    盼星星盼月亮我终于盼到了Z大的技术文 :mrgreen:

    1. zwwooooo says:

      @有点蓝
      唉,文囧啊

  7. 有点蓝 says:

    你更改了固定链接模式?

      1. 有点蓝 says:

        我记得你以前的文章链接都是自动翻译的英文啊,就是slug,现在成了数字了。难道我记错了?

        1. zwwooooo says:

          @有点蓝
          从我用WP时就是数字,所以绝对是你记错了,或者把我当某人了。

        2. 有点蓝 says:

          @zwwooooo
          那是我以前没注意啊,潜意识中认为大师级的都用slug呢,所以我才改了slug :oops:

      2. zwwooooo says:

        @有点蓝
        厄,你是怎样把评论挤到第3嵌套的?我这最多2级的,囧rz

      3. 有点蓝 says:

        @zwwooooo
        哈哈 有奇观呀 我就是点了个“reply”而已 :mrgreen:

      4. zwwooooo says:

        @ 有点蓝
        因为当时我是菜鸟,所以就一错再错了,反正没啥问题,而且我一直不怎么鸟SEO。

      5. zwwooooo says:

        @有点蓝
        偶尔会出错,囧rz

  8. phoetry says:

    所以还是用谷歌的favicon缓存比较好, 省去onerror的判断, 而且经过处理可以做到完全前端输出, 后台反正越省事越好.

    1. zwwooooo says:

      @phoetry
      对,我没去换和找,你有空扔一个到我邮箱,我不用去找了 :mrgreen:

  9. hzlzh says:

    很早就用上了,我直接用的原始default图标,用缓存好点

    1. zwwooooo says:

      @hzlzh
      缓存就速度点

  10. 整上是漂亮些

  11. 郎中中 says:

    世界上本没有问题,问的人多了,也就有了问题

    1. zwwooooo says:

      @郎中中
      本来不想写的,问的人多了,也就写了

  12. 寂静 says:

    其实这个效果还不错,但还是不弄了 :smile:

    1. zwwooooo says:

      @寂静
      这个不是必须的,没事玩儿的功能

  13. 郑永 says:

    不错,呵呵。以后用得到。

  14. wp_list_bookmarks 的show_images 参数不能输出后台添加的链接图像吗?

  15. wmtimes says:

    大步要改链接了?那可记得一定要把我加上哦。
    ico我的一开始就加上了的。

    1. wmtimes says:

      @zwwooooo
      打错了一个字。是大叔! :mrgreen:

    2. zwwooooo says:

      @wmtimes
      我只是把方法贴出来,链接还是一样,要加只能加 zww.me/links 里面

  16. 学习了......

  17. Kars says:
    echo '<li><img src="', $bookmark->link_url , '/favicon.ico" onerror
    

    favicon.ico 前方的反斜杠应该去掉、、因为输出的链接已经带反斜杠了、、

    echo '<li><img src="', $bookmark->link_url , 'favicon.ico" onerror
    
    1. zwwooooo says:

      @Kars
      哦,这个没注意,因为现示正常……

  18. powerson says:

    我回去试试,好像好复杂啊 :sad:

    1. zwwooooo says:

      @powerson
      不复杂吧,都是copy而已

  19. 又是一个技术文章 哈哈 我老来翻你的老帖子

    1. zwwooooo says:

      @软件风暴
      难得写了, :mrgreen:

  20. 这个不错哦,上次遇到过一个用google那个连接,经常无法显示。你这个如果ico图标不在根目录不就显示默认了吗

发表评论

昵称 *

网址

B em del U Link Code Quote