学习笔记5——wp主题开发

news/2024/7/5 23:16:54

我觉得学习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:数据表中键名以_开头的都是隐藏的,也就是不会显示在后台仪表盘页面上给用户看到。

 

转载于:https://www.cnblogs.com/ryanzheng/p/8018509.html


http://www.niftyadmin.cn/n/2749037.html

相关文章

js微信抢红包脚本代码_JS实现微信红包随机算法(附代码)

这次给大家带来JS实现微信红包随机算法(附代码),JS实现微信红包随机算法的注意事项有哪些,下面就是实战案例,一起来看一下。我们假设有一个100元的红包,要发给10个人。为了保证公平,算法需要保证以下的原则&#xff1a…

统计学中p值计算公式_大学统计学白上了?800多科学家联名反对统计学显著性:P值该废了...

【新智元导读】三位统计学家在Nature上发布公开信,号召科学家放弃追求“统计学意义”,这封公开信一周之内吸引了超过800名研究人员共同反对。大学里好不容易听懂的统计学,会变成一件没“意义”的事情吗?统计学白学了?最…

开发一款短视频APP需要多少钱?

程序员——一个苦逼的“打击乐手” 每天一直都在敲敲敲~~~ 当然是键盘啦,你以为是乐器吗?! 由于工作时太过专业太过认真 各种标签贴在了我们的身上 说谁呆板,说谁木讷,说谁品味差 说…

Cocos2D-html5 发布游戏js编译为jsc

搞了老半天,这么回事啊,工具都在tools中。 jsb模式下是通过打包spidermonkey来运行JS代码的。 JS文件都在assets文件夹中。我们都知道assets文件夹,打包后的结果,将apk包解压后就可以直接拿到script的源码。 官方工具cocos2d-cons…

机器学习-谈谈逻辑回归里面的woe化

机器学习-谈谈逻辑回归里面的woe化-20170911 - 知乎 (zhihu.com)

网站策划方案绝不能忽视的几个问题!

伴随着很多网站的快速建成,这样开发需要有第三方的云服务和虚拟的主机,自然就需要普及一下。但网站策划方案就算已经出炉 ,在当下越来越突出网站的安全性问题,这都在提醒着我们要做好网站的安全。以下就给大家介绍几个建设时候不能…

android 单例模式_Android设计模式-1-单例模式

1. 定义:确保1个类只有1个实例化对象 ,提供一个全局访问点2. 优缺点优点:客户端使用单例模式的实例的时候,只需要调用一个单一的方法即可生成一个唯一的实例,有利于节约资源。缺点:首先单例模式很难实现序列化&#xf…

UWP 实现分享功能

一:需求 实现点击分享按钮,分享内容到微博,邮箱等。。 like this 二:DataTransferManager 数据传输管理类 DataTransferManager dataTransferManager DataTransferManager.GetForCurrentView(); dataTransferManager.DataRequest…