WordPress添加友情链接页面(自动获取favicon.ico图标)

如何为你的Wordpress博客添加一个自动获取favicon.ico图标的友情链接页面?今天倡萌就和大家分享一下这个方法,来自zwwooooo大师的 WordPress: 带 favicon.ico 显示的友情链接自定义页面 ,效果如下图所示:

wpdaxue.com-201211115

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定义一下样式,可以参考一下:

<style type="text/css">
.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:200px;line-height:25px;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;float:left;}
</style>

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

注:WordPress 3.5以后取消了链接管理功能,如果没办法显示链接,请试试 https://www.wpdaxue.com/link-manager.html

调用全部友链:

首先了解一下获取链接列表的方法,在wordpress主题的 links.php 文件,写上如下代码:

<?php wp_list_bookmarks(); ?>

代码将调出所有链接,并按嵌套的列表结构的分类显示出来,关于 wp_list_bookmarks 方法可以参看 官方Codex的使用说明,
但上述代码结构过于单一,不能很好的展示我们想要的效果,所以用了以下代码:

<?php wp_list_bookmarks('title_li=&categorize=0&orderby=rand'); ?>

上述代码调用全部友链,并不进行分类,也不调用分类标题,且链接位置随机安排。

调用分类友链:

参考wordpress官方Codex函数库,利用 get_bookmarks 函数来进行处理
例如调用分类名为 ‘index’ 的友链,这里表示首页显示的友链!

<?php $bookmarks = get_bookmarks('category_name=index'); ?>

那么我们可以通过下面的代码来显示名字为 ‘index’ 的分类的链接,取代显示所有链接。

<div class="boxcaption"><h3>index</h3></div>
<div class="box linkcat">
<ul>
<?php
$bookmarks = get_bookmarks('category_name=index');
if ( !empty($bookmarks) ) {
foreach ($bookmarks as $bookmark) { echo '<li><a href="' . $bookmark->link_url . '" title="' . $bookmark->link_description . '">' . $bookmark-&gt;link_name . '</a></li>'; }
}
?>
&lt;/ul>
<div class="fixed"&gt;</div>
</div>

在functions.php底部添加下面代码: //恢复友链管理

add_filter( 'pre_option_link_manager_enabled', '__return_true'; ); 

首页调用友链的方法:
1、后台—外观—小工具—链接,拖到相应位置
或者
2、在你想添加的位置添加代码如下:

<?php wp_list_bookmarks(); ?>

3、只在首页显示友情链接

<?php wp_reset_query(); if ( is_home()) { ?>
<?php wp_list_bookmarks(); ?>
<?php } ?>

4、一些常用的显示指令

is_home() 主页 
is_admin() 管理员帐号
is_single() 文章页
is_page() 页面
is_404() 页面无法找到页
is_search() 搜索结果页
is_feed() 订阅页 !
is_category(5) 仅在ID非5的分类显示
is_category() 文章分类页
is_tag() 文章标签页
is_archive() 归档页

Related Post

发表回复