代码改变世界

随笔分类 -  WordPress

自己动手从头制作WordPress主题(三)探索add_action和do_action

2012-11-05 11:43 by php la, 4866 阅读, 收藏, 编辑
摘要: 上一篇我们自己实现了一个简单的主题选项,其中涉及到WP的一个重要的函数add_action,其实只add没有用,WP还要通过另一个函数do_action来执行add_action添加的事件。add_action相当于添加事件和事件处理程序;do_action相当于执行事件。WP是如何保证两者的执行顺序的呢?下面使用调试探索一下:add_action:theme-options.php下面设置断点,访问wp-admin/login.php,中断后的调用堆栈:F5步入后,发现调用了add_filter函数:add_action登记的事件就保存在$wp_filter这个三层数组字典中,看一下变量:d 阅读全文

自己动手从头制作WordPress主题(二)实现主题选项

2012-11-03 11:48 by php la, 5286 阅读, 收藏, 编辑
摘要: 上一篇我们介绍了WordPress主题制作的基本知识,并且制作了一个简陋的WP博客园主题。在制作的过程中发现一个问题,就是WP后台没有设置Meta的keywords的地方。于是想自己增加一个设置界面。如果用phpmyadmin查看过WP的数据库结构,就很容易明白后台设置的原理:只不过是在WP_Options表中增加一条记录,当然我们是用WP提供的标准函数来操作数据库。机制我们登录后台时,WP如何将控制权交给我们呢?是去调用我们主题的哪个文件呢?约定:functions.php文件。此处有一陷阱:一旦我们的主题包含了functions.php,就在WP的请求响应处理管线中插入了一环,无论我们访问 阅读全文

wordpress常用action

2012-11-03 11:44 by php la, 1101 阅读, 收藏, 编辑
摘要: 前台:muplugins_loaded plugins_loaded load_textdomain set_current_user init wp_loaded parse_request send_headers parse_query pre_get_posts posts_selection wp template_redirect get_header wp_head wp_enqueue_scripts wp_print_styles wp_print_scripts loop_start the_post loop_end get_sidebar dynamic_sidebar 阅读全文

自己动手从头制作WordPress主题(一)

2012-11-02 10:44 by php la, 9737 阅读, 收藏, 编辑
摘要: 前几天搭建好了PHP的开发和调试环境后,就开始研究WordPress的主题了。自从把WP用做CMS以来,一直对其主题系统很感兴趣,方便啊,精通了主题就可以把WP改成多种类型的网站:企业、门户、购物型等等,而不仅限于博客。担心WP的性能?我一点都不担心,因为用WP的人太多了,如果有性能问题,还有人用吗?再说有一个好的架构就不要再去计较那一点点性能了。1、WP主题约定存放位置:wp-content-》themes文件夹下。那么插件就存在plugins目录下了。我在这里建立一个cnblogs文件夹,从头开始制作一个WP的主题,所有的主题制作修改都是在这个文件夹下完成的。所需文件:index.php 阅读全文