這個問題困擾我許久,經過一番研究,發現可以改造一個widget來達成。
WordPress 2.0以後,多了個新的書籤整理函式。原來是用get_link()來讀取連結清單,現在多了wp_list_bookmarks()可以用。功能更強,也更容易格式化。因為有了標準的格式化規格,因此就可以動點手腳,讓他可以輕鬆轉換成下拉式表單。
首先,要先下載Morgan’s Replacement Links Widget。0.3的版本還不穩定,要用0.2的。
下載完以後先不要開啟外掛,要先修改裡面的函式。編輯這個外掛,然後找到第35行
get_links();
將他換成
wp_list_bookmarks(‘show_description=1′);
關於函式可以代入的參數選項,可以參考wp_list_bookmarks
的說明。我這邊啟用的是顯示連結描述(因為我有這設定這個)。但其實如果你還不知道要開什麼,直接用wp_list_bookmarks();就可以了。
一般來說這樣就可以了。但因為我比較龜毛,有將連結分類。於是在上面的作法裡,分類會黏在該分類第一個選項之後。而如果我只是帶入 用
解決之道要回到wp-include裡的bookmark-template處理。在WP 2.1版裡,關於格式化wp_list_bookmarks()的預設值在此。你可以修改裡面的預設達成目的。
打開/wp-include/bookmark-template.php,找到319行。他原來長這樣:
$defaults = array(‘orderby’ => ‘name’, ‘order’ => ‘ASC’, ‘limit’ => -1, ‘category’ => ",
‘category_name’ => ", ‘hide_invisible’ => 1, ‘show_updated’ => 0, ‘echo’ => 1,
‘categorize’ => 1, ‘title_li’ => __(‘Bookmarks’), ‘title_before’ => ‘
‘, ‘title_after’ => ‘
‘,
‘category_orderby’ => ‘name’, ‘category_order’ => ‘ASC’, ‘class’ => ‘linkcat’,
‘category_before’ => ‘‘, ‘category_after’ => ‘ ‘);
將title_before和title_after後面的
$defaults = array(‘orderby’ => ‘name’, ‘order’ => ‘ASC’, ‘limit’ => -1, ‘category’ => ",
‘category_name’ => ", ‘hide_invisible’ => 1, ‘show_updated’ => 0, ‘echo’ => 1,
‘categorize’ => 1, ‘title_li’ => __(‘Bookmarks’), ‘title_before’ => ‘
注意:
好了,然後將widget開啟,拉到sidebar上就大功告成。實際範例就看我側邊欄吧,可以看網頁原始碼來了解HTML標籤結構。



[...] 下拉式連結清單:其實有看到解決方案,但是我的5U theme不支援Widget。可是我很喜歡這個theme ^^; 所以只好繼續找解決方案… [...]