很多主题设计者都喜欢添加固定的侧边功能模块替换Wordpress默认小工具(widget)功能,但上下排列位置是固定的,重新排序需要修改模版文件,对新手来说有一定难度,如果能像Wordpress默认小工具一样,可通过拖拽移动位置是不是会很方便,这篇文章就教大家实现这一功能。
其实强大的Wordpress早已为我们提供了这方面的接口(API),很多国外主题已集成该功能,只是国内主题中很少见到,实现这一功能要用到:
- wp_register_sidebar_widget()
通过上面函数可以向Wordpress小工具(widget)页面注册添加自定义小工具项目。
一、首先将主题固定的模块函数提取出来,放到单独的模版文件中。
比如将下面这两段“热门文章及分类目录”代码,分别粘贴到新建的两个:hot.php和categories.php文件模版中,
热门文章代码:
- <?php $popular = new WP_Query('orderby=comment_count&posts_per_page=10'); ?>
- <?php while ($popular->have_posts()) : $popular->the_post(); ?>
- <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
- <?php endwhile; ?>
文章分类代码:
- <ul><?php wp_list_cats("sort_column=name&hierarchical=0&exclude="); ?></ul>
二、打开主题的functions.php,添加:
- if( function_exists( 'register_sidebar_widget' ) ) {
- register_sidebar_widget('热门文章','mb_hot');
- register_sidebar_widget('文章分类','mb_categories');
- }
及:
- function mb_mb_hot() { include(TEMPLATEPATH . '/mb_hot.php'); }
- function mb_categories() { include(TEMPLATEPATH . '/categories.php'); }
之后,打开Wordpress小工具页面,会多出两个小工具“热门文章和文章分类”,与默认小工具一样可任意拖拽到侧边widget中,加上相应的样式基本就大功造成了。
另外还可以替换和隐藏默认的小工具,可以下面参考官网Codex
即将升级的HotNews Pro 主题已将大部分侧边固定功能模块,移到Wordpress小工具(widget)面板中,方便用户灵活安排侧边模块位置。
相关参考:
本站文章大部分为原创,用于个人学习记录,可能对您有所帮助,仅供参考!
我的微信
微信号已复制
版权声明
本站原创文章转载请注明文章出处及链接,谢谢合作!
江苏省苏州市昆山市 1F
哈哈,我来抢个沙发!看来鸟哥的下一版主题是不是要引入该功能?期待新主题。。。
湖南省益阳市 B1
@ 网赚理想 好啦,http://www.jianfei1595.com
上海市 2F
鸟哥的博客一天一个样。。
美国 3F
请问博主,你主题首页上部的图片幻灯片效果是集成在2.5pro版里面么?为什么我在主题设置里面找不到哦~
广东省深圳市 4F
鸟哥,腾讯微博的APP列表里面公布了一个Wp的插件,很不错。你看看,如果能集成到你的主题里面就完美了。http://fairyfish.net/2010/12/20/qq-connect/
上面是那个插件的地址。
北京市 5F
期待新版本的发布呀!支持一下!
北京市 6F
很繁忙啊
浙江省宁波市 7F
学习下,谢谢博主分享
湖南省湘潭市 8F
这个东西好。
辽宁省沈阳市 9F
期待鸟哥的的主题。。升级版本。。。鸟哥。。辛苦了。。。
上海市 10F
恩,版本不错
上海市 11F
真的不错啊,路过看看
广东省东莞市 12F
谢谢你了,这个对我非常有用啊!
广东省惠州市 13F
学习了~
浙江省杭州市 14F
请问怎么去掉小工具的标题栏? 就像2.6的热门标签一样?
福建省莆田市荔城区 15F
鸟哥,我按你的方法试了,没成功啊,后台小工具没显示我要添加的!
福建省莆田市荔城区 16F
鸟哥啊,我刚才认真了看了下,发现代码错了,function mb_mb_hot() { include(TEMPLATEPATH . ‘/mb_hot.php’); }
function mb_categories() { include(TEMPLATEPATH . ‘/categories.php’); }
这段代码,多了mb,改了过来还是不行,新建的PHP文件老提示出错,不知道哪出问题
安徽省合肥市 17F
学习了,收藏一下!
新疆巴音郭楞州 18F
下面的两行代码有问题,mb那个字母写了两遍,,
陕西省西安市 19F
register_sidebar_widget函数已经放弃了,官方建议使用wp_register_sidebar_widget,鸟哥能不能将代码更新了,以便我等使用。
湖北省黄石市 B1
@ qintag 我记的官方是不提倡以wp_开头的吧
湖北省黄石市 B1
@ qintag sorry,看错了,我记的看了官方其他的位置写过不赞成用wp_开头的,不过在register_sidebar_widget的文档里已经写了:Deprecated: 2.8.0 Use wp_register_sidebar_widget()
浙江省杭州市 20F
学习了,谢谢~~~~很好用的说~~~~为边栏widgets的问题发愁好久了…
但是有一个问题,我添加的小工具[比如说我添加了饭否],就只写了饭否挂件的代码,于是后台的自定义小工具无法设置标题~~~就是在首页显示时没有标题,是光秃秃的…有什么办法解决么? 谢谢了….
中国 B1
@ 鳳梨果凍 我作的主题未抵制任何其它功能,也从未准备兼容其它任何挂件
自己折腾吧
浙江省杭州市 B2
@ 知更鸟 不是啦,我是个人博客,用的是另外的人做的主题,><只是用了你的方法添加了自定义小工具,成功了,可以不能设置标题,比如"近期文章"这样的在首页显示的… 可是我又不知道用什么代码可以设置标题..
谢谢了TAT…我慢慢学习吧~~
中国 B3
@ 鳳梨果凍 参考我写的主题widget目录中的模板文件写法
加上个类似
<h3>年度排行</h3>
就会有标题了
浙江省杭州市 B4
@ 知更鸟 可以了,谢谢^ ^
江西省南昌市 21F
刚用鸟哥的主题,今天就进来学习了,值得鼓励吧!
江苏省南京市 22F
你好,请问贵站可以做广告吗?
湖北省黄石市 23F
wp_register_sidebar_widget
和使用WP_Widget的API有什么不同吗?
江苏省扬州市 24F
请问要把这个涵数写在哪呢
河北省石家庄市 25F
我很奇怪,这代码是你写的吗?你是看不懂代码还是故意要写错呢?你丫下次别发所谓的技术文章了,揪心
广东省深圳市 26F
这样可以吗?
广东省韶关市 27F
非常感谢,测试成功,不过只成功一个categories.php,其它的如何自定义都不成功,后来发现把categories.php的名称改了(functions里面也作相应的更改),也不行,,,,,,
广东省广州市南沙区 28F
鸟哥,在右侧栏添加小工具,如百度分享,但我不知道怎么给这个插件添加标题,尝试用文本小工具,把标题写上,和加入百度分享的代码,还是存在错位。。如何解决下鸟哥。谢谢
黑龙江省 29F
自定义的小工具只能用一次,但博主的主题可以用无数次,是怎么实现的呢?
中国 B1
@ 斌果 参考此文:
http://zmingcx.com/another-way-to-add-customizable-gadget-method.html
黑龙江省 B2
@ 知更鸟 哦,那怎么给小工具添加设置选项呢?
中国 B3
@ 斌果 那篇文章后面有相关教程链接
福建省泉州市 30F
不知道有那种小工具,是三合一的不?
很想知道下呢。自己又是代码白痴。揪心了。
广东省佛山市 31F
include(TEMPLATEPATH . ‘/mb_hot.php’); } 多了个mb_吧!
山西省太原市 32F
好
陕西省西安市 33F
前來支持一下~挺不錯的!
山东省青岛市 34F
这个小工具不能重复使用呢?
西藏日喀则市 35F
感谢分享!终于找到你了!http://www.so-woman.cn/
广东省广州市 36F
不错。收了。管用。
河北省石家庄市 37F
使用代码添加小工具之后,热门文章的小工具显示在侧边栏时,评论是混乱的,所有文章显示的都是某一篇文章的评论内容。
但如果只显示分类目录这个小工具时,就没有问题。鸟哥这是怎么回事呢?
浙江省杭州市 38F
我想知道你文章底下的打赏按钮怎么弄
来自外部的引用