在制作HotNews pro2.6升级版时,将侧边各功能模块集成到WP小工具中,开始采用的方法(详细方法可以点这里),有一个缺陷,就是使用后的自定义小工具,在页面刷新后将不能再次使用。最后参考老外的这篇教程及官方 Codex,经过简化,最终代码如下:
- <?php
- class news extends WP_Widget{
- function news(){
- $widget_options = array('classname'=>'set_contact','description'=>'自定义最新文章');
- $this->WP_Widget( false,'最新文章',$widget_options );
- }
- function widget($instance){
- include("widget/news.php");
- ?>
- <?php
- }
- }
- add_action('widgets_init',create_function('', 'return register_widget("news");'));
- ?>
多个自定义小工具可以修改其中的news文字,并修改引入的自定义代码文件,这个官方Widgets API方法好处就是,可重复使用自定义小工具。
原教程代码有许多功能设置选项,有些复杂,被我精简掉了,如果你想进一步增强小工具的功能,可以参考下面的文章试着折腾一下。
WordPress Development for Designers Part 1: How to Build Custom Widgets for Your Themes
本站文章大部分为原创,用于个人学习记录,可能对您有所帮助,仅供参考!
我的微信
微信号已复制
版权声明
本站原创文章转载请注明文章出处及链接,谢谢合作!
陕西省西安市 1F
沙发是我的,嘿嘿,鸟哥最近更新好快呀,加油。。。
四川省成都市 2F
鸟哥的沙发我从来都没有坐过..
河南省平顶山市 3F
加载是有点慢,鸟哥费心了
北京市 4F
确实 不错
广东省广州市天河区 5F
鸟哥,2.5版的主题不能支持gzip插件么?
中国 B1
@ E视角 未试过,对我这个人小博没任何意义
浙江省温州市 6F
我用上你的主题后,进入其中一个分类,比如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
能帮我看一下吗
中国 B1
@ 媛诺诺 貌似你用过之前版本的这个主题,主题还有上一个版本的残余的代码,主题设置中点一下恢复默认吧,注意要备份一下之前输入的内容
浙江省温州市 B2
@ 知更鸟 已经按照你说的,主题设置恢复默认,又重新设置了一遍,为什么还是这样啊
中国 B3
@ 媛诺诺 打开主题的archive.php删除
<!– end: navigation –>
与
<!– end: bottom –>
之间的代码
浙江省温州市 B4
@ 知更鸟 可以了,谢谢哈
广东省惠州市 B5
@ 媛诺诺 原是是这样。。。。。
江苏省盐城市东台市 7F
不错,学学
云南省昆明市 8F
鸟哥,问你一下。你装的wp版本是官方的中文版还是官方的英文版+汉化的语言补丁(非官方)
谢谢了!
中国 B1
@ 飘云 官方中文
广东省广州市 9F
鸟兄,底部的微博是如何添加的,我找来找去都没找到。谢谢
云南省昆明市 B1
@ 罗平 看到我们的罗平兄了。嘿嘿!!
广东省广州市 B2
@ 飘云 难道你是罗平人?
云南省昆明市 B3
@ 罗平 是的。我是罗平人呢!
嘿嘿!
江苏省泰州市兴化市 10F
鸟哥我把最新评论设置成了小工具,但是显示有点不正常,总是显示一个人的头像
中国 B1
@ 追梦人 是的,并不是所有代码都能集成到小工具中
湖北省襄阳市 11F
add_action(‘widgets_init’,create_function(”, ‘return register_widget(“news”);’)); 这个要怎么扩展?复制一遍不行,把news改成 news,post 也不行,求解。
来自外部的引用