现在的位置: 首页 > 互联网络 > WP相关 > 互联网络 > 正文

打造自己的WordPress侧边栏

2010-04-29 07:58 WP相关, 互联网络 ⁄ 共 1512字 ⁄ 字号 评论 2 条

倘若自己把一些需要的widget直接写进WordPress侧边栏sidebar.php里,在打开网页时,会比在后台添加的widget速度要快一些。道理很简单,如果在后台添加那些widget,? 相当于dynamic_sidebar,然后去get一些option之类的函数,会比直接写进sidebar.php里多一些查询和调用的过程。

而且,大家也发现了,在后台的提供的widget里并非都是你想要的。所以有时候自己写一些widget,还是蛮有趣的。

好比说,我现在想加一个友情链接(Blogroll)在侧边栏里,该怎么去写呢? 很简单,在模板的sidebar.php里加上:

1 <div>?

2 <h3>友情链接</h3>?

3 </div>
是不是很简单,当然,如果为了让这个显示的更美观一些,就要配合模板的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);,如果是做成列表的话,添加下面的代码就可以了:

1 <div>?

2 <h3>文章分类</h3>?

3 </div>

如果有什么不会设置的widget呢,可以看看那些已经在sidebar里写了widget的模板,可以学到很多哦。

可是有些想实现的东西在widget.php里没有,那该怎么添加呢? 比如说随机文章啊,最多阅读之类的。

添加随机文章,可以用到: get_posts(‘numberposts=10&orderby=rand’); 主要就是这个orderby=rand, 从数据库里拿出来的文章就会做一个随机的排序,具体代码如下:

1 <div>?

2 <h3>随机文章</h3>?

3 foreach($posts as $post) {?

4??? setup_postdata($post);?

5??? echo '<li><a href="' . get_permalink() . '">' . get_the_title() . '</a></li>';?

6??? }?

7 </div>

至于最多阅读呢,会用到一个WP-PostViews的插件,启用后,在侧边栏里添加:

1 <div>?

2 <h3>最多阅读</h3>?

3 </div>

如果想看到每天,每周,每月的最多浏览数,用一个WP-PostViews Plus的插件就行了,主函数改成:<?php get_timespan_most_viewed(‘post’, 10, 30, true, false); ?> 30 就是所查询的天数。这样你就可以做一个文章阅读量的排行榜了。周冠军,月冠军和年度总冠军将相继产生。?

当然我这里只是给一个思路,你可以写的更好。比如不同页面上用到的侧边栏也不尽相同,这样更好不是吗,当然你也一定能打造的更加完美的。

http://www.sthelse.com/2009/02/make-your-own-wordpress-sidebar.html

目前有 2 条留言    访客:2 条, 博主:0 条

  1. pwlavnq 2010年05月31日 12:07 下午  @回复  Δ1楼 回复

    zWjoYh mikqyyvcikiu, [url=http://kqsxtqxgyrkk.com/]kqsxtqxgyrkk[/url], [link=http://ibuzlakemays.com/]ibuzlakemays[/link], http://ghgebswedihq.com/

  2. xophwrxfhte 2010年06月05日 5:01 上午  @回复  Δ2楼 回复

    hZff05 yzyccjbxbiuo, [url=http://kqwrxnkfqtik.com/]kqwrxnkfqtik[/url], [link=http://qpatsltehcmn.com/]qpatsltehcmn[/link], http://guzndizcdwhr.com/

给我留言

留言无头像?