By Bigfa:之前發表過一篇帶頭像的友情連結頁面,當時有朋友說怎麼能支援分類,我讓他仿照以前不帶頭像的舊方法修改下,以前舊方法是用 SQL 語句獲取的分類,其實完全可以透過 Wordpress 自帶的函式來實現,原因你懂的。而且還有一部分朋友不知道如何新建自定義頁面,索性我就寫成了短程式碼呼叫。

實現方法

把下面的程式碼新增到 functions.php 中:

function get_the_link_items($id = null){
$bookmarks = get_bookmarks(‘orderby=date&category=’ .$id );
$output = ”;
if ( !empty($bookmarks) ) {
$output .= ‘<ul class=”link-items fontSmooth”>’;
foreach ($bookmarks as $bookmark) {
$output .= ‘<li class=”link-item”><a class=”link-item-inner effect-apollo” href=”‘ . $bookmark->link_url . ‘” title=”‘ . $bookmark->link_description . ‘” target=”_blank” >’. get_avatar($bookmark->link_notes,64) . ‘<span class=”sitename”>’. $bookmark->link_name .'</span></a></li>’;
}
$output .= ‘</ul>’;
}
return $output;
}

function get_link_items(){
$linkcats = get_terms( ‘link_category’ );
if ( !empty($linkcats) ) {
foreach( $linkcats as $linkcat){
$result .= ‘<h3 class=”link-title”>’.$linkcat->name.'</h3>’;
if( $linkcat->description ) $result .= ‘<div class=”link-description”>’ . $linkcat->description . ‘</div>’;
$result .= get_the_link_items($linkcat->term_id);
}
} else {
$result = get_the_link_items();
}
return $result;
}

function shortcode_link(){
return get_link_items();
}
add_shortcode(‘bigfalink’, ‘shortcode_link’);

參考 CSS 樣式

.link-title{font-size:18px;color:rgba(0,0,0,0.44);margin:40px 0 10px}
.link-description{font-size:12px;margin-bottom:10px;font-style:italic;color:rgba(0,0,0,0.3)}
.link-item{display:inline-block;margin:10px;width:64px;vertical-align:top}
.link-item-inner{display:block;overflow:hidden;position:relative;text-decoration:none!important}
.link-item .avatar{border-radius:5px;width:64px;height:64px}
.sitename{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}
.effect-apollo::before{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(255,255,255,0.5);content:”;-webkit-transition:-webkit-transform 0.6s;transition:transform 0.6s;-webkit-transform:scale3d(1.9,1.4,1) rotate3d(0,0,1,45deg) translate3d(0,-100%,0);transform:scale3d(1.9,1.4,1) rotate3d(0,0,1,45deg) translate3d(0,-100%,0)}
.effect-apollo:hover::before{-webkit-transform:scale3d(1.9,1.4,1) rotate3d(0,0,1,45deg) translate3d(0,100%,0);transform:scale3d(1.9,1.4,1) rotate3d(0,0,1,45deg) translate3d(0,100%,0)}

呼叫方法

新建頁面直接新增短程式碼 bigfalink 即可,也可新建自定義模版使用以下程式碼呼叫

<?php echo get_link_items(); ?>

以上!