学习笔记5——wp主题开发
我觉得学习wordpress插件开发之前还是得先理解一下wp的主题开发,循序渐进才能学好wordpress开发,话不多说,接下来整理一下这两天学习的wordpress主题开发的一些心得和体会,与大家一起分享,如果有哪些地方存在异议,敬请指出!
先简单的介绍一下什么是主题,wp的主题就是你的wp主页显示的内容,你可以自定义你的wp页面以什么样的形式去显示给用户看,其实跟平时我们自己开发网站没什么两样,都是得自己写css、html、php代码,区别就是可以使用wp内部自定义的函数,wp内部封装很多函数供我们使用,还有wp内部内定了很多模版,只要在你的主题下面按照wp规定命名一些文件,wp都会智能地去调用,例如404.php,header.php等等,接下来我也会详细介绍这些文件在wp中的命名规则。
首先简单介绍一下wp数据库表结构:
wp_comments表:存储了wp的所有评论内容;
wp_commentmeta表:评论元数据表,存储了评论的一些附加信息;
wp_links表:存储了wp网站的所有链接;
wp_options表:存储了wp中的基本信息;
wp_posts表:存储了wp中上传的文章信息;
wp_postmetab表:存储了文章的元信息;
wp_terms表:存储了wp中的分类信息;
wp_termmeta表:存储了wp中的分类元信息;
wp_users表:存储了wp中的用户信息;
wp_usermeta表:存储了wp中的用户元信息;
wp的主题模版是如何加载的呢?
wp一开始会进入index.php文件,



然后载入wp-blog-header.php,在此文件中进行数据库等初始化过程,接下来会调用template-loader.php进行模版的载入,也就是载入/wrdpress/wp-content/themes/文件夹里面的模板。所以每次你进入wp,看到的首页其实就是themes目录下其中一个模板的index.php页面。
主题模板的创建和安装?
主题模板的创建就是在/wp_content/themes/下创建一个文件夹my-themes(名称你自己决定),在新文件夹下新建一个style.css文件,在css文件的开头处加上一段包含Theme Name: my-themes的注释,接下来你可以选择一张图片作为你的themes的图片,有个要求就是图片名称必须命名为screenshot.png,这样wp才能识别出来(接下来会有很多文件的创建也是必须指定文件名),然后保存,打开你的仪表盘页面下的外观-主题,你会看到你刚刚创建的主题模板。
/*
Theme Name: Ryan.Zheng
Theme URI: https://wordpress.org/themes/twentyfifteen/
Author: the WordPress team
Author URI: https://wordpress.org/
Description: Our 2015 default theme is clean, blog-focused, and designed for clarity. Twenty Fifteen's simple, straightforward typography is readable on a wide variety of screen sizes, and suitable for multiple languages. We designed it using a mobile-first approach, meaning your content takes center-stage, regardless of whether your visitors arrive by smartphone, tablet, laptop, or desktop computer.
Version: 1.8
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: blog, two-columns, left-sidebar, accessibility-ready, custom-background, custom-colors, custom-header, custom-logo, custom-menu, editor-style, featured-images, microformats, post-formats, rtl-language-support, sticky-post, threaded-comments, translation-ready
Text Domain: twentyfifteen This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.
*/
/*#header{
background: green;
}*/
顶部和底部模板的调用:
你可以在你新建的模板文件夹my-themes下,新建两个文件header.php和footer.php,wp会默认这两个文件为模版的头部文件和底部文件,然后将index.php文件中的头部代码和底部代码分别存放于这两个文件中。你可以在index.php中通过get_header()和get_footer()这两个函数久可以直接header.php和footer.php文件中的代码,是不是很方便!相比之前的php代码,我们的做法是通过include 'header.php';这种格式去调用。下图是wp默认的一些文件的命名,


如何才能调用数据库里的数据?
一开始我们的想法可能是通过pdo连接数据库,然后各种query();的方式去处理,wp为我们提供了很多函数,你可以直接通过一个函数获取带你想要的数据库数据,接下来我会介绍一下如何调用wp_options表的数据,其他的大家触类旁通。
wp_options表存放了wp网站的一些基本的信息,例如博客名称,网站地址,编码等等,你可以通过get_option(键名)获取wp_option表的数据,你也可以通过update_option(键名,新的键值)函数修改键值。
ps:数据表中键名以_开头的都是隐藏的,也就是不会显示在后台仪表盘页面上给用户看到。
学习笔记5——wp主题开发的更多相关文章
- amazeui学习笔记二(进阶开发5)--Web 组件开发规范Rules
amazeui学习笔记二(进阶开发5)--Web 组件开发规范Rules 一.总结 1.见名知意:见那些class名字知意,见函数名知意,见文件名知意 例如(HISTORY.md Web 组件更新历史 ...
- amazeui学习笔记二(进阶开发4)--JavaScript规范Rules
amazeui学习笔记二(进阶开发4)--JavaScript规范Rules 一.总结 1.注释规范总原则: As short as possible(如无必要,勿增注释):尽量提高代码本身的清晰性. ...
- amazeui学习笔记二(进阶开发3)--HTML/CSS规范Rules
amazeui学习笔记二(进阶开发3)--HTML/CSS规范Rules 一.总结 1.am:以 am 为命名空间 2.模块状态: {命名空间}-{模块名}-{状态描述} 3.子模块: {命名空间}- ...
- amazeui学习笔记二(进阶开发2)--Web组件简介Web Component
amazeui学习笔记二(进阶开发2)--Web组件简介Web Component 一.总结 1.amaze ui:amaze ui是一个web 组件, 由模板(hbs).样式(LESS).交互(JS ...
- VSTO 学习笔记(十一)开发Excel 2010 64位自定义公式
原文:VSTO 学习笔记(十一)开发Excel 2010 64位自定义公式 Excel包含很多公式,如数学.日期.文本.逻辑等公式,非常方便,可以灵活快捷的对数据进行处理,达到我们想要的效果.Exce ...
- Spring MVC 学习笔记12 —— SpringMVC+Hibernate开发(1)依赖包搭建
Spring MVC 学习笔记12 -- SpringMVC+Hibernate开发(1)依赖包搭建 用Hibernate帮助建立SpringMVC与数据库之间的联系,通过配置DAO层,Service ...
- springmvc学习笔记(13)-springmvc注解开发之集合类型參数绑定
springmvc学习笔记(13)-springmvc注解开发之集合类型參数绑定 标签: springmvc springmvc学习笔记13-springmvc注解开发之集合类型參数绑定 数组绑定 需 ...
- Android:日常学习笔记(8)———探究UI开发(5)
Android:日常学习笔记(8)———探究UI开发(5) ListView控件的使用 ListView概述 A view that shows items in a vertically scrol ...
- Android:日常学习笔记(7)———探究UI开发(4)
Android:日常学习笔记(7)———探究UI开发(4) UI概述 View 和 ViewGrou Android 应用中的所有用户界面元素都是使用 View 和 ViewGroup 对象构建而成 ...
随机推荐
- PHP 函数的参数
函数的参数 通过参数列表可以传递信息到函数,即以逗号作为分隔符的表达式列表. PHP 支持按值传递参数(默认),通过引用传递参数以及默认参数.也支持可变数量的参数:更多信息请参照可变长度参数列表和涉及 ...
- functools模块中的函数
Python自带的functools模块提供了一些常用的高阶函数,也就是用于处理其它函数的特殊函数.换言之,就是能使用该模块对可调用对象进行处理.functools模块函数概览functools.cm ...
- codeforces727C(交互)
题意 $n$个数,初始时不知道他们的值. 每次可以询问两个数的和,在$n$次询问内确定他们的值 $n \leqslant 5000$ Sol 首先询问出$1, 2$,$1, 3$,$2, 3$ 解个方 ...
- java实现打开Windows控制台窗口
在写Python程序的时候突发奇想了一下,能不能用java代码实现打开控制台窗口呢? 经过查询网络资料和java API文档,终于实现了: package com.primeton.cmd; impo ...
- Node.js 打造实时多人游戏框架
在 Node.js 如火如荼发展的今天,我们已经可以用它来做各种各样的事情.前段时间UP主参加了极客松活动,在这次活动中我们意在做出一款让“低头族”能够更多交流的游戏,核心功能便是 Lan Party ...
- c++的const和static区别
const定义的常量在超出其作用域之后其空间会被释放,而static定义的静态常量在函数执行后不会释放其存储空间. static表示的是静态的.类的静态成员函数.静态成员变量是和类相关的,而不是和类的 ...
- 洛谷 P2872 [USACO07DEC]道路建设Building Roads
题目描述 Farmer John had just acquired several new farms! He wants to connect the farms with roads so th ...
- codevs 1155 金明的预算方案
时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description 金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间金明自己专用的很宽敞的房 ...
- Codeforces Round #290 (Div. 2) _B找矩形环的三种写法
http://codeforces.com/contest/510/status/B 题目大意 给一个n*m 找有没有相同字母连起来的矩形串 第一种并查集 瞎搞一下 第一次的时候把val开成字符串了 ...
- C# 重写(override)和覆盖(new)
重写 用关键字 virtual 修饰的方法,叫虚方法.可以在子类中用override 声明同名的方法,这叫“重写”.相应的没有用virtual修饰的方法,我们叫它实方法.重写会改变父类方法的功能. ...