倘若自己把一些需要的widget直接寫進WordPress側邊欄sidebar.php里,在打開網頁時,會比在后臺添加的widget速度要快一些。道理很簡單,如果在后臺添加那些widget, 相當于dynamic_sidebar,然后去get一些option之類的函數(shù),會比直接寫進sidebar.php里多一些查詢和調用的過程。
而且,大家也發(fā)現(xiàn)了,在后臺的提供的widget里并非都是你想要的。所以有時候自己寫一些widget,還是蠻有趣的。
好比說,我現(xiàn)在想加一個友情鏈接(Blogroll)在側邊欄里,該怎么去寫呢? 很簡單,在模板的sidebar.php里加上:
是不是很簡單,當然,如果為了讓這個顯示的更美觀一些,就要配合模板的CSS做一些調整了。在這段代碼里,主要是調用了wp_list_bookmarks,后面的括號里相當于我們在后臺設置的一些option,只是這里我們就可以把它寫成固定形式,以方便快速的調用。
要找到這些option的設置并不難,在安裝Wordpress的目錄下,有一個wp-includes的文件夾,里面就有一個widget.php, 打開一看,立馬就有一種豁然開朗的感覺了。^_^
接下來就可以隨心所欲的添加里面所提供的所有widget了,把一些option寫成你想要的,再打開頁面來,加載的時間會有減少的。
試著添加個文件分類(categories)吧:在function wp_widget_categories,它可以用下拉菜單的形式wp_dropdown_categories($cat_args); 也可以用列表的形式wp_list_categories($cat_args);,如果是做成列表的話,添加下面的代碼就可以了:
如果有什么不會設置的widget呢,可以看看那些已經在sidebar里寫了widget的模板,可以學到很多哦。
可是有些想實現(xiàn)的東西在widget.php里沒有,那該怎么添加呢? 比如說隨機文章啊,最多閱讀之類的。
添加隨機文章,可以用到: get_posts(‘numberposts=10&orderby=rand’); 主要就是這個orderby=rand, 從數(shù)據(jù)庫里拿出來的文章就會做一個隨機的排序,具體代碼如下:
3 | foreach ( $posts as $post ) { |
5 | echo ''<li><a href="'' . get_permalink() . ''">'' . get_the_title() . ''</a></li>'' ; |
至于最多閱讀呢,會用到一個WP-PostViews的插件,啟用后,在側邊欄里添加:
如果想看到每天,每周,每月的最多瀏覽數(shù),用一個WP-PostViews Plus的插件就行了,主函數(shù)改成:<?php get_timespan_most_viewed(‘post’, 10, 30, true, false); ?> 30 就是所查詢的天數(shù)。這樣你就可以做一個文章閱讀量的排行榜了。周冠軍,月冠軍和年度總冠軍將相繼產生。
當然我這里只是給一個思路,你可以寫的更好。比如不同頁面上用到的側邊欄也不盡相同,這樣更好不是嗎,當然你也一定能打造的更加完美的。 