WordPress函数the_widget介绍、使用技巧

昨天在写完分享日志《WordPress底部widget,显示相关日志列表》后,突然意识到日历归档,作为页面导航的一种形式,没必要在我的右侧边栏,功用不大还占用我的宝贵黄金位。于是登录后台widget管理,把Calendar移除,又在底部清理了一块区域放置其中。

破坏一个东西简单,建设一个东西却异常艰难。我删除右侧边栏的Calendar,想在底部用函数调用出来时,遇到了麻烦——我找不到调用Calendar微件的方法,在wp-includes文件夹里找到default-widgets.php文件,并找到WP_Widget_Calendar()类函数,却不知道如何使用。很无奈,上班时间到了,只好等晚上研究一下。

好不容易下了班,换成两班公交到新东站,然后换城乡公交坐车赶回中牟;又好不容易吃完烤鱼,回家后吃掉半个西瓜;洗完澡后很无聊地等对象搞定QQ农场牧场、QQ抢车位。已经近11点了——看来我又要奋斗到深夜。

WordPress博客开发者文档里的函数参考Codex,一直是我的良师益友。我废了九牛二虎之力找到了the_widget()函数。它不仅能实现WP_Widget_Calendar()的调用,还能实现其他Archives、Categories、Links、Meta、Pages、Recent Comments、Recent Posts、RSS、Search、Tag Cloud、Text的调用——我被这个函数的强大功能所折服,不得不潜心的研究一下,并把试用心得分享给大家。

the_widget()函数调用方式

1 <?php the_widget($widget, $instance, $args); ?>

$widget参数

  1. WP_Widget_Archives — Archives
  2. WP_Widget_Calendar — Calendar
  3. WP_Widget_Categories — Categories
  4. WP_Widget_Links — Links
  5. WP_Widget_Meta — Meta
  6. WP_Widget_Pages — Pages
  7. WP_Widget_Recent_Comments — Recent Comments
  8. WP_Widget_Recent_Posts — Recent Posts
  9. WP_Widget_RSS — RSS
  10. WP_Widget_Search — Search (a search from)
  11. WP_Widget_Tag_Cloud — Tag Cloud
  12. WP_Widget_Text — Text

$instance参数:是$widget删除指定的函数所支持的参数。

$args参数: before_widgetafter_widget为定义widget前后内容默认值是<div class=”widget {widget’s classname}”></div>,而widget则在上述DIV标签里;before_title、after_title定义标题的前后内容,默认为:<h2 class=”widgettitle”></h2>,标题将在H2标签里。

WP_Widget_Archives函数

使用说明:显示月度归档,$instance参数可以指定标题(title,默认值是__(‘Archives’))、是否统计当月日志数(count,默认值是0)、显示方式(dropdown,值为1则表示下拉菜单方式显示,值为0则表示普通方式显示)。$args的before_widget默认样式为widget_archive。函数调用方式:

1 <?php the_widget('WP_Widget_Archives', $instance, $args); ?>

使用举例:例子中的第一个,会显示所有月度归档,标题为默认。第二个则让你的月度归档指定标题“月度归档”、显示当月日志统计、显示方式是下拉菜单方式。第三个则是让标题“月度归档”显示为H1标题。这里并没有提供显示月度归档的数量,如果想修改,请参考我的日志《WordPress 应用:自定义日志归档的显示数量》,或许对你有帮助。

1 <?php the_widget('WP_Widget_Archives'); ?>
2 <?php the_widget('WP_Widget_Archives', 'title=月度归档&count=1&dropdown=1'); ?>
3 <?php the_widget('WP_Widget_Archives','title=月度归档','before_title=<h1>&after_title=</h1>'); ?>

WP_Widget_Calendar函数

使用说明:这个是日历归档的widget。函数参数稀少,只有一个自定义标题(title)参数,默认为空。调用方式和上面类似,你可以使用title=标题名的方式调用。$args的before_widget默认样式为widget_calendar。函数调用方式:

1 <?php the_widget('WP_Widget_Calendar', $instance, $args); ?>

使用举例:例子中的第一个,会显示当前月份的日历归档,并没有标题。而第二个例子则定义了标题名,样式为widgettitle控制。第三个是在第二个的基础上,让“日历归档”变为H1。

1 <?php the_widget('WP_Widget_Calendar'); ?>
2 <?php the_widget('WP_Widget_Calendar', 'title=日历归档'); ?>
3 <?php the_widget('WP_Widget_Calendar', 'title=日历归档' ,'before_title=<h1>&after_title=</h1>'); ?>

WP_Widget_Categories函数

使用说明:这个是显示分类的widget,参数和WP_Widget_Archives类似。$instance参数可以指定标题(title,默认值是__(‘Categories’))、是否统计当月日志数(count,默认值是0)、自分类是否嵌套(hierarchical,1为嵌套,0为不嵌套,默认不嵌套)、显示方式(dropdown,值为1则表示下拉菜单方式显示,值为0则表示普通方式显示)。$args的before_widget默认样式为widget_categories。函数调用方式:

1 <?php the_widget('WP_Widget_Categories', $instance, $args); ?>

使用举例:例子中的第一个,没啥特点,显示博客分类,标题是“分类目录”;例句二,显示博客分类,而标题是“博客分类”;第三句在第二句的基础上,继续深化,显示分类日志统计(count=1)、使用下拉菜单方式显示(dropdown=1)、自分类嵌套显示(hierarchical=1)、把分类标题“博客分类”,定义为H1。

1 <?php the_widget('WP_Widget_Categories'); ?>
2 <?php the_widget('WP_Widget_Categories','title=博客分类'); ?>
3 <?php the_widget('WP_Widget_Categories','title=博客分类&count=1&dropdown=1&hierarchical=1','before_title=<h1>&after_title=</h1>'); ?>

WP_Widget_Links函数

使用说明:调用友情链接函数。$instance参数比较多,但相对简单,基本是友情链接的各项内容。title指定链接显示(不会用,请高手指教),category显示分类,description是否显示描述(1为显示,0为不显示,默认为不显示),rating是否显示评分(1为显示,0为不显示,默认不显示),images是否显示友情链接图片(1为显示,0为不显示,默认显示),name图片Alt标记(1为显示,0为不显示,默认不显示)。widget的样式表控制为widget_links。函数调用方式:

1 <?php the_widget('WP_Widget_Links', $instance, $args); ?>

使用举例:例子中的第一个,显示所有友情链接,标题为“书签(Bookmarks)”;第二句,指定显示友情链接分类ID=2的链接,显示描述、博主评分、图片Alt描述;第三句是在第二句的基础上,指定了标题“书签(Bookmarks)”为H1。

1 <?php the_widget('WP_Widget_Links'); ?>
2 <?php the_widget('WP_Widget_Links' ,'description=1&category=2&rating=1&name=1'); ?>
3 <?php the_widget('WP_Widget_Links' ,'description=1&category=2&rating=1&name=1,''before_title=<h1>&after_title=</h1>'); ?>

WP_Widget_Meta函数

使用说明:调用Meta功能管理函数,如登录/退出、Feed订阅、WordPress链接。仅有一个title参数,用于设定此Widget的标题,默认是Meta(功能)。widget的样式表控制为widget_meta。函数调用方式:

1 <?php the_widget('WP_Widget_Meta', $instance, $args); ?>

使用举例:例子中的第一个,显示所有Meta功能,标题为“功能(Meta)”;第二句,指定Meta的标题“博客管理”;第三句是在第二句的基础上,把标题“博客管理”设置为H2,红色。

1 <?php the_widget('WP_Widget_Meta'); ?>
2 <?php the_widget('WP_Widget_Meta','title=博客管理'); ?>
3 <?php the_widget('WP_Widget_Meta','title=博客管理','before_title=<h2 style="color:#F00;">&after_title=</h2>'); ?>

WP_Widget_Pages函数

使用说明:这是调用自定义页面调用函数。$title参数用于指定此widget标题,默认为Pages(页面);$sortby用于指定排序方式,默认为menu_order,可使用wp_list_pages()函数支持的任意排序;exclude用于指定不需要显示的ID。函数调用方式:

1 <?php the_widget('WP_Widget_Pages', $instance, $args); ?>

使用举例:例子中的第一个,将显示所有自定义页面,且标题被我定义为H2,红色显示;第二个例子,定义标题为博主推荐,排序方式为id,并且ID为2的页面不予显示,多个id用半角逗号隔开,比如我想隐藏ID为2、699的,我则可以这么设置exclude=2,699。sortby除了支持ID外,还支持post_title、menu_order、post_date、post_modified、post_author、post_name,这里不多作介绍。

1 <?php the_widget('WP_Widget_Pages','','before_title=<h2 style="color:#F00;">&after_title=</h2>'); ?>
2 <?php the_widget('WP_Widget_Pages','title=博主推荐&exclude=2&sortby=id'); ?>

WP_Widget_Recent_Comments函数

使用说明:调用最新评论的函数。可以自定义widget的标题$title,默认为Recent Comments(最近评论);自定义显示数量$number,最大值15,默认5。函数调用方式:

1 <?php the_widget('WP_Widget_Recent_Comments', $instance,$args); ?>

使用举例:例句一,把此widget的标题“最近评论”定义为H2,红色显示;例句二,定义widget的标题为“博友留言”,并显示15条评论。

1 <?php the_widget('WP_Widget_Recent_Comments','','before_title=<h2 style="color:#F00;">&after_title=</h2>'); ?>
2 <?php the_widget('WP_Widget_Recent_Comments','title=博友留言&number=15'); ?>

WP_Widget_Recent_Posts函数

使用说明:调用最新发布的函数。可以自定义widget的标题$title,默认为Recent Posts(最近文章);自定义显示数量$number,最大值15,默认10。函数调用方式:
< ?php the_widget(‘WP_Widget_Recent_Posts’, $instance, $args); ?>
使用举例:例句一,把此widget的标题“最近文章”定义为H2,红色显示;例句二,定义widget的标题为“最新日志”,并显示15条评论。

1 <?php the_widget('WP_Widget_Recent_Posts','','before_title=<h2 style="color:#F00;">&after_title=</h2>'); ?>
2 <?php the_widget('WP_Widget_Recent_Posts','title=最新日志&number=15'); ?>

WP_Widget_RSS函数使用

WP_Widget_Search函数使用

WP_Widget_Tag_Cloud函数使用

WP_Widget_Text函数使用

这是一个自定义调用内容的函数,有$title、$text、$filter三个参数;$title是标题名,$text是内容,$filter参数具体作用不知,官方也没有说明,如果给它赋值的话$text前后会加上P标签。应用举例:

1 <?php the_widget('WP_Widget_Text','title=Text_title&text=Text_content'); ?>
2 <?php the_widget('WP_Widget_Text','title=Text_title&text=Text_content','before_title=<h2 style="color:#F00;">&after_title=</h2>'); ?>

使用举例:例句一,自定义的标题是Text_title,内容是Text_content;例句二,在一的基础上把标题Text_title搞成红色。

我想搞一个牛叉点的调用怎么办?$text支持HTML呀。

1 <?php the_widget('WP_Widget_Text','title=友情链接说明&text=
2 <p>标题:不得言SEO<br />
3 描述:SEO优化分享,企业排名优化推广,安全病毒IT资讯,郑州点滴健身骑行.<br />
4 地址:<a href="http://www.budeyan.com/"rel="nofollow">http://www.budeyan.com/</a></p>
5 <p>我已经在你博客上留言。链接已经做好。</p>');?>

如果是乱码记得把你的文件保存为UTF-8格式——乱码解决说明

 » 本站地址:http://www.gomoth.com
  • 您可能感兴趣的相关文章