`
baiyuxiong
  • 浏览: 179279 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

【转载】wordpress源代码研究-侧边栏的实现

阅读更多
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把很多细节工作做得很好,不看代码真是不会体会到。但是繁琐当然也是随之而来。看你想学什么了。

其实我也不知道为什么我要发这篇这么弱智的东西来冒充教程。我有罪。
分享到:
评论

相关推荐

    构建自己最出色的WordPress主题 源代码

    7. **自定义小工具和小工具区域**:通过创建自定义小工具,你可以为你的主题添加额外的功能,如侧边栏、页脚区域等。学习如何注册和使用小工具是增强主题功能的重要环节。 8. **菜单和导航**:WordPress允许用户...

    wordpress-5.7.2-zh_CN.zip

    2. 小工具改进:在这一版本中,小工具界面得到了优化,支持拖放操作,使得用户可以更直观地自定义侧边栏和其他区域。 3. 编辑器增强:Block Editor(通常称为Gutenberg编辑器)进一步完善,新增了更多区块类型,...

    博客源代码 博客源代码

    9. **博客平台和CMS**:除了从头编写源代码,许多人也会选择使用WordPress、Joomla或Ghost等博客平台或内容管理系统,它们提供丰富的主题和插件,使得非程序员也能轻松搭建和管理博客。 10. **性能优化**:通过压缩...

    WordPress简洁博客-老赵茶馆

    通过WordPress的后台设置,用户可以轻松更改主题选项,添加个人Logo,调整侧边栏小工具,或者自定义菜单,让网站更加符合自己的品牌风格。 在技术层面,"老赵茶馆"主题应遵循WordPress的最佳实践,包括响应式设计,...

    WordPress Form Manager 使用

    激活插件后,新的菜单项“Form Manager”会出现在侧边栏。点击进入,点击“新建表单”按钮,开始创建自定义表单。你可以添加各种字段,如文本框、文本区域、复选框、单选按钮、下拉菜单等。这些字段的设置涉及到...

    WordPress 基础教程

    - 开源免费:任何人都可以免费使用和修改其源代码。 - 社区支持强大:由于广泛使用,WordPress有一个庞大的社区提供技术支持和解决方案。 - 功能扩展性强:通过安装插件和主题,可以实现网站的各种功能需求。 **...

    旅游网站源码 WordPress模板 v1.0

    可自定义添加侧边栏5. 可自由添加统计代码6. 原商业源码,免费发布,请尊重作者血汗,保留作者版权信息,张家界旅游攻略//www.1000be.com/安装方法:先安装好wordpress,将压缩包解压,复制travel文件夹至\wp-...

    wordpress-theme

    【WordPress主题开发详解】 在WordPress世界中,"WordPress-...而"Mokore-master"这个文件名可能代表了一个特定的WordPress主题项目,可能包含了以上所有提及的结构和功能,具体细节则需要查看源代码才能详细了解。

    Wp-Makerstrap:Makerstrap的WordPress版本-演示->

    如果你是开发者,可以深入研究源代码,根据项目需求进行定制,例如添加自定义小工具、修改布局或者调整颜色方案。 总结来说,Wp-Makerstrap是一个以Webmaker设计风格为灵感的WordPress主题,采用PHP编写,提供了...

    wordpress-dlugoleka-child

    7. 子主题可能还包括自定义的WordPress小工具、菜单、侧边栏等配置文件。 在实际使用"wordpress-dlugoleka-child"时,你需要将它上传到WordPress的wp-content/themes目录下,然后在WordPress管理后台启用它。一旦...

    wptutorialsource:WordPress教程的源代码

    【WordPress主题开发教程源代码详解】 WordPress作为全球最受欢迎的内容管理系统之一,其强大的可定制性...通过深入研究这个源代码,开发者能够提升自己的WordPress主题开发技能,并进一步理解和掌握这个强大的平台。

    打造完美博客的35个WordPress插件

    - **使用建议**:可设置为侧边栏小工具,激励更多用户参与评论。 **5. WordPress Threaded Comment** - **功能介绍**:采用AJAX技术实现评论的嵌套显示,即多级回复功能。 - **使用建议**:提高评论区的互动性和...

    基于PHP的wordpress灰色主题源码.zip

    【标题】"基于PHP的WordPress灰色主题源码.zip"揭示了这个压缩包包含的是一个专门为WordPress设计的PHP源代码,其特色是采用了灰色调的界面风格。WordPress是一种广泛使用的开源内容管理系统(CMS),主要用来搭建...

    基于PHP的wordpress格子主题.zip

    【描述】"基于PHP的wordpress格子主题.zip"是一个压缩包文件,包含了一个用PHP编写的WordPress格子主题的所有源代码和资源文件。这种主题通常适用于展示大量内容,如博客文章、产品或图片,因为格子布局能够有效地...

    WordPress-theme-JA:使用XAMPP和PHP的自定义WordPress主题

    接下来,下载WordPress源代码并将其解压到XAMPP的“htdocs”目录下,例如“C:\xampp\htdocs\wordpress”。 创建自定义主题时,首先要理解WordPress主题结构。一个基本的WordPress主题包含以下几个文件: 1. style....

    基于PHP的wordpress格子主题源码.zip

    【描述】:“基于PHP的WordPress格子主题源码.zip”是一个压缩文件,其中包含了用于创建这个格子主题的所有源代码。用户下载并解压后,可以查看、修改或自定义代码以适应其特定需求。源码通常包括HTML、CSS、...

    基于PHP的wordpress电影CMS主题PixVideo源码.zip

    7. **自定义小工具和侧边栏**:WordPress主题通常包含可自定义的小工具和侧边栏,让用户可以添加如最新影片、热门推荐等模块。 8. **模板和页面构建器**:为了简化页面布局,PixVideo可能包含预设的模板和一个页面...

    WordPress对侧栏widget进行缓存的插件

    •安装设置简单,无须添加和修改源代码(比WP-Cache安装简单多了) wp widget cache插件安装: 1.下载wp widget cache插件,然后上传插件到/wp-content/plugins/下的文件夹。 2.到wp管理后台插件页面激活插件,激活...

    191) Neeon - WordPress 新闻杂志主题 v3.0.7.zip

    对于那些希望进一步定制网站的用户,他们可以通过修改主题的源代码来实现更多个性化的功能和设计。 最后,对于开发者来说,开发WordPress主题是一个复杂的过程,需要深入理解WordPress框架、PHP编程、HTML、CSS以及...

    all-in:wordpress主题all-in,由舞影凌风开发的免费主题

    1. **模板系统**:WordPress的模板层次结构是基于PHP构建的,All-in主题利用这一系统,为不同的页面和元素(如首页、文章页、侧边栏等)定义特定的PHP模板文件。 2. **函数和钩子**:PHP函数是WordPress功能的核心...

Global site tag (gtag.js) - Google Analytics