另一个添加可定制小工具的方法

2011年07月30日22:26:48 23 已收录 5,128
摘要

在制作HotNews pro2.6升级版时,将侧边各功能模块集成到WP小工具中,开始采用的方法(详细方法可以点这里),有一个缺陷,就是使用后的自定义小工具,在页面刷新后将不能再次使用。最后参考老外的这篇教程及官方 Codex,经过简化,最终代码如下:   多个自定义小工具可以修改其中的news文字,并修改引入的自定义代码文件,这个官方Widgets API方法好处就是,可重复使用自定义小工具。   原教程代码有许多功能设置选项,有些复杂,被我精简掉了….

在制作HotNews pro2.6升级版时,将侧边各功能模块集成到WP小工具中,开始采用的方法(详细方法可以点这里),有一个缺陷,就是使用后的自定义小工具,在页面刷新后将不能再次使用。最后参考老外的这篇教程及官方 Codex,经过简化,最终代码如下:

  1. <?php   
  2. class news extends WP_Widget{   
  3.     function news(){   
  4.         $widget_options = array('classname'=>'set_contact','description'=>'自定义最新文章');   
  5.         $this->WP_Widget( false,'最新文章',$widget_options );   
  6.     }   
  7.     function widget($instance){   
  8.         include("widget/news.php");   
  9. ?>   
  10. <?php   
  11. }   
  12. }   
  13. add_action('widgets_init',create_function('', 'return register_widget("news");'));   
  14.   
  15. ?>  

多个自定义小工具可以修改其中的news文字,并修改引入的自定义代码文件,这个官方Widgets API方法好处就是,可重复使用自定义小工具。

原教程代码有许多功能设置选项,有些复杂,被我精简掉了,如果你想进一步增强小工具的功能,可以参考下面的文章试着折腾一下。

WordPress Development for Designers Part 1: How to Build Custom Widgets for Your Themes

Widgets API

weinxin
我的微信
分享交流WordPress经验与技巧,关注前端设计与网站制作。仅用于功能演示。
Begin主题购买
Begin主题购买

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:23   其中:访客  17   博主  5   引用   1

    • Bakhtiyar 3

      沙发是我的,嘿嘿,鸟哥最近更新好快呀,加油。。。

      • 永恒之塔基地 3

        鸟哥的沙发我从来都没有坐过..

        • hm中国 2

          加载是有点慢,鸟哥费心了

          • 数据恢复培训 4

            确实 不错

            • E视角 3

              鸟哥,2.5版的主题不能支持gzip插件么?

                • 知更鸟 Admin

                  @E视角 未试过,对我这个人小博没任何意义

                • 媛诺诺 4

                  我用上你的主题后,进入其中一个分类,比如http://ynono.com/category/keep-beautiful页面,发现最下面有提示Warning: include(includes/random.php) [function.include]: failed to open stream: No such file or directory in /home/aonion/domains/ynono.com/public_html/wp-content/themes/HotNewspro/archive.php on line 97

                  Warning: include() [function.include]: Failed opening ‘includes/random.php’ for inclusion (include_path=’.:/usr/local/php5/lib/php’) in /home/aonion/domains/ynono.com/public_html/wp-content/themes/HotNewspro/archive.php on line 97
                  能帮我看一下吗

                    • 知更鸟 Admin

                      @媛诺诺 貌似你用过之前版本的这个主题,主题还有上一个版本的残余的代码,主题设置中点一下恢复默认吧,注意要备份一下之前输入的内容

                        • 媛诺诺 4

                          @知更鸟 已经按照你说的,主题设置恢复默认,又重新设置了一遍,为什么还是这样啊

                            • 知更鸟 Admin

                              @媛诺诺 打开主题的archive.php删除

                              <!– end: navigation –>  

                              <!– end: bottom –>  
                              之间的代码

                        • aas 1

                          不错,学学

                          • 飘云 1

                            鸟哥,问你一下。你装的wp版本是官方的中文版还是官方的英文版+汉化的语言补丁(非官方)
                            谢谢了!

                            • 罗平 1

                              鸟兄,底部的微博是如何添加的,我找来找去都没找到。谢谢

                                • 飘云 1

                                  @罗平 看到我们的罗平兄了。嘿嘿!!

                                • 追梦人 3

                                  鸟哥我把最新评论设置成了小工具,但是显示有点不正常,总是显示一个人的头像

                                    • 知更鸟 Admin

                                      @追梦人 是的,并不是所有代码都能集成到小工具中

                                    • 夜色倾城 0

                                      add_action(‘widgets_init’,create_function(”, ‘return register_widget(“news”);’)); 这个要怎么扩展?复制一遍不行,把news改成 news,post 也不行,求解。

                                    • 来自外部的引用: 1

                                      • 另一个添加可定制小工具的方法 | 沂蒙山商贸网