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

知更鸟
知更鸟
站长
2322
文章
0
粉丝
WordPress235,623阅读模式
摘要在制作HotNews pro2.6升级版时,将侧边各功能模块集成到WP小工具中,开始采用的方法(详细方法可以点这里),有一个缺陷,就是使用后的自定义小工具,在页面刷新后将不能再次使...

在制作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. ?>

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

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

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

Widgets API

本站文章大部分为原创,用于个人学习记录,可能对您有所帮助,仅供参考!

weinxin
我的微信
微信号已复制
版权声明
本站原创文章转载请注明文章出处及链接,谢谢合作!
 
知更鸟
评论  23  访客  17  作者  5
    • Bakhtiyar
      Bakhtiyar 3

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

      • 永恒之塔基地
        永恒之塔基地 3

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

        • hm中国
          hm中国 2

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

          • 数据恢复培训
            数据恢复培训 4

            确实 不错

            • E视角
              E视角 3

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

              • 媛诺诺
                媛诺诺 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
                能帮我看一下吗

                  • 知更鸟
                    知更鸟

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

                      • 媛诺诺
                        媛诺诺 4

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

                          • 知更鸟
                            知更鸟

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

                            <!– end: navigation –>  

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

                              • 媛诺诺
                                媛诺诺 4

                                @ 知更鸟 可以了,谢谢哈

                                  • www
                                    www 0

                                    @ 媛诺诺 原是是这样。。。。。

                          • aas
                            aas 1

                            不错,学学

                            • 飘云
                              飘云 1

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

                              • 罗平
                                罗平 1

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

                                  • 飘云
                                    飘云 1

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

                                      • 罗平
                                        罗平 1

                                        @ 飘云 难道你是罗平人?

                                          • 飘云
                                            飘云 1

                                            @ 罗平 是的。我是罗平人呢!
                                            嘿嘿!

                                      • 追梦人
                                        追梦人 3

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

                                        • 夜色倾城
                                          夜色倾城 0

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

                                        匿名

                                        发表评论

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

                                        拖动滑块以完成验证