http://lgone.com/html/y2009/256.html
wordpress的widget.中文的后台显示名称叫小工具。包括你自己添加自定义代码进去的文本工具。
有一些工具是主题自带的,有的些是你自己加的,或者说在你安装了某些插件之后插件为你加上的。这些所有用可用的插件,他们的信息都是保存在option表中的,我们都知道,在WP初始化的第一步(我前面的文章《wordpress源代码研究-前台运行流程》里有讲到),就把这些数据放到全局变量中了。所以在构造侧边栏的时候,基本流程就是读取这些数据,然后将我们选中的小工具显示出来。
具体是如何做的呢,数据的准备我们不说了,无非就是查库数据格式化。
我们从第二步开始说,首先一个页面得到请求,他会调用到模板页去显示。而模板页面(index 或者single)他们除了有自己特殊的一些信息的展现代码之外,还包含了一些通用的模板(大模板中包含子模板)。比如header.footer.当然还有我们今天的主角就是sidebar.然后这些小的模板又被包含,被激活。
我们的东西就在sidebar里面,我这个模板的定义是这样的。
1
2
3
4
<div id="sidebar">
<ul>
<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar() ) : ?>;
.......
就是说如果存在dynamic_sidebar这个函数的话,就调用这个函数,如果这个函数返回的是false(表明他没干成什么事,没有输出),那就执行下面的东西。
下面是什么呢?下面其实就是和上面这个dynamic单词对应的,static的东西了。就是说主题默认的几个widget。比如日历啊,搜索框啊什么的。
当然,我们怎么会没有dynamic_sidebar呢。这个函数就位于你的wp-includes/widgets.php里,搜一下就找到了。他就是整个widget的核心。
他得到我们选择好的widget列表,怎么得到?前面已经把数据准备好了,他读一下就OK了。
然后再按图索骥,foreach每一个widget,得到他们的具体信息,这个具体信息是什么内容呢?最重要的内容就是有一个callback函数及其参数。就是说这个widget要怎么怎么表现自己,就在这个widget的callback函数里写好了。最后就是在每个widget里调用这个widget.带上他的参数。然后widget的HTML就出来了,输出,OK。打完收工。
当然,还是前面说的,WP把很多细节工作做得很好,不看代码真是不会体会到。但是繁琐当然也是随之而来。看你想学什么了。
其实我也不知道为什么我要发这篇这么弱智的东西来冒充教程。我有罪。
分享到:
相关推荐
Iphone开发系列源码——iPhone版Wordpress源代码Iphone开发系列源码——iPhone版Wordpress源代码Iphone开发系列源码——iPhone版Wordpress源代码Iphone开发系列源码——iPhone版Wordpress源代码Iphone开发系列源码...
thrive-clever-widgets智能侧边栏小工具-wordpress,可以给每个页面添加上智能化的小工具
WordPress是一种使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站。
1、把 about-me.css 拷贝到 Wordpress后台的主题目录下,被style.css引用(或者直接拷贝内容进去也可) 2、在前端打开Wordpress的仪表盘, 外观 -> 小工具 -> 自定义HTML, 把 about-me.html 的内容拷贝进去即可 3、...
PHP批量查询WordPress留言者E-mail地址实现方法_.docx
wordpress-4.8.1中午版本
wordpress-3.4.2-zh_CN.tar.gz
1、把 statistics.css 拷贝到 Wordpress后台的主题目录下,被style.css引用(或者直接拷贝内容进去也可) 2、在前端打开Wordpress的仪表盘, 外观 -> 小工具 -> Enhanced Text, 把 statistics.html 的内容拷贝进去...
源代码,构建自己最出色的WordPress主题,本书是英文版,英文好的大侠可以深入研究,。里面有图,一步步指引,挺简单。喜欢的朋友可以下。
wordpress-3.5.1-zh_CN wordpress-3.5.1-zh_CN wordpress-3.5.1-zh_CN wordpress-3.5.1-zh_CN wordpress-3.5.1-zh_CN 解压后放到你的php环境的项目目录中,运行项目即可 换主题可以上网上搜一下
史上最强的WordPress初级-中级-高级教程
WordPress文章发布工具--V1.0个人版,由宏拓软件工作室以WordPress 4.0版本为基础开发,其他版本请自己测试! WordPress文章发布工具--V1.0个人版为终身免费版,宏拓软件工作室不会以任何理由,要求用户付费! 如果...
wordpress-4.8.1-zh_CN.tar.gz 搭建个人博客的框架,基于PHP编写
帮助上不去wordpress的朋友。1111111111111111111111111111111111111111111111111
随页面滚动定位的侧边栏悬浮框js插件,包括页面自适应、函数节流、悬浮区域高度自适应等。具体效果参考博客 https://blog.csdn.net/zh_rey/article/details/80136619
一款CMS建站系统,全球使用最广泛的CMS建站系统,可以用于博客,且对搜索引擎很友好
wordpress摘要插件wp-utf8-excerpt wordpress,摘要,全文,插件,excerpt
前两年IOS应用源码-主要是用于毕业设计学习的。
wordpress相册插件easy-image-gallery
wordpress置顶插件wp-sticky.1.50 好用!