在制作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 也不行,求解。
来自外部的引用