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

知更鸟
知更鸟
知更鸟
1618
文章
6927
评论
2011年7月30日22:26:48 23 5.5K
摘要

在制作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 5.6 WordPress

解决WordPress 5.6 “从URL插入”图片BUG

在WordPress 5.6 唯一让人欣慰的是中文版同期发布,因为开发者一直在努力优化增强区块编辑器,而我自己一直在使用经典编辑器,没感觉有什么变化。 不过很快发现一个BUG,就是使用经典编辑器添加图...
WordPress 判断浏览器 WordPress

WordPress 判断浏览器

目前大部分主题模板对已淘汰的IE支持不好,影响体验,可以利用WordPress提供的变量,判断访问者用浏览器,然后提醒用户升级浏览器。 比如在主题模板适当位置添加: <?php global $...
WordPress 5.6 发布 WordPress

WordPress 5.6 发布

WordPress 5.6 为您带来无数方法,让您的想法自由自在,并把它们付给生活。使用全新的默认主题作为画布,它支持不断增长的块集合作为画笔。用文字画。图片。声音。或丰富的嵌入式媒体。 更大的布局灵...
搭建本地PHP8环境 WordPress

搭建本地PHP8环境

之前一直用phpStudy搭建本地环境,PHP8 于2020年11月26日发布,phpStudy目前并没有集成PHP8,试着添加无果,最后还是用回老牌的建站集成软件包XAMPP(Apache+MySQ...
匿名

发表评论

匿名网友

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

评论:23   其中:访客  17   博主  5   引用   1
    • 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删除

                            1. <!– end: navigation –>  

                            1. <!– end: bottom –>  

                            之间的代码

                              • 媛诺诺 媛诺诺 4

                                @ 知更鸟 可以了,谢谢哈

                                • www www 0

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

                          • aas aas 1

                            不错,学学

                            • 飘云 飘云 1

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

                              • 罗平 罗平 1

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

                                • 追梦人 追梦人 3

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

                                  • 夜色倾城 夜色倾城 0

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