WordPress主题制作教程[壹] - 了解WP&结构&索引
最近开始筹备WordPress主题开发了。首先我们在此章节中进行了解什么是WP,以及WP的结构。通过这个文章索引到以后所写的WP系列教程。
(抱歉,大家不要急,持续更新中....)
1.首先,我们来认识一下什么是wordpress,可以用来做什么?
WordPress是一种使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站。也可以把 WordPress当作一个内容管理系统(CMS)来使用。
WordPress是一款个人博客系统,并逐步演化成一款内容管理系统软件,它是使用PHP语言和MySQL数据库开发的。用户可以在支持 PHP 和 MySQL数据库的服务器上使用自己的博客。
WordPress有许多第三方开发的免费模板,安装方式简单易用。不过要做一个自己的模板,则需要你有一定的专业知识。比如你至少要懂的标准通用标记语言下的一个应用HTML代码、CSS、PHP等相关知识。
WordPress官方支持中文版,同时有爱好者开发的第三方中文语言包。WordPress拥有成千上万个各式插件和不计其数的主题模板样式。
2.Wordpress的现状和前景
大家可以通过百度了解下,WordPress平台现在已成为全球18.9%网站的基础平台,有超过1亿个站点。
这是非常庞大的一个数字,而且是非常具有竞争力的。
前景就不用我多说了,已经很牛XX了,用的人只会更多。
2.Wordpress的优点和缺点
wordpress能博得这么多用户的青睐,一定非常好把? 那么我们来罗列一下
优点:
有数量众多的主题和插件,你可以很方便的扩展。
你可以很轻易的扩展你想要的功能,你可以将WP改造成CMS、SHOP、企业站、分类信息等等。
系统遍布钩子,可以很方便的进行开发工作。
系统安装包较为小巧,只有6.9M 的大小。
系统版本碎片化程度较低,你可以只用关心最新版本专心开发,而不用纠结会不会兼容老版本。
可以很容易的搜索到很多关于WP的建站和使用技巧。
缺点:
系统只有12张表,这12张表可以扩展出很多功能,但是效率也因此降低了。
不适合建大数据大流量网站(优化得好可以)
系统功能较少(这应该是能成功的关键因素)
AD: 挖沙啦电影网
/////////////////////////////////////////////////////////////////
模版文件及定义
header.php 页头模版 *
footer.php 页脚模版 *
index.php 首页模版 *
single.php 文章页面模版 *
page.php 页面模版 *
404.php 404错误页模版 *
search.php 搜索结果模版 *
archive.php 文章归档 *
archives.php
author.php 作者模板
category.php 分类目录模板
comments.php 评论模版 *
comments-popup.php
image.php 图片附件模版
links.php
sidebar.php 边栏模版
functions.php 模版函数 *
style.css 样式表 *
rtl.css 样式表(RTL) *
screenshot.png 缩略图 *
-images 图片文件夹
-js 脚本文件夹
-fonts 字体文件夹
-widgets 小工具文件夹
-page-templates 页面模版文件夹
/////////////////////////////////////////////////////////////////
页面及文章模版的创建
<?php
/*
Template Name:两列模版
*/
?>
//将以上的代码复制到模版的顶部即可,模版放置在page-templates统一管理
/////////////////////////////////////////////////////////////////
小工具注册&创建widgets
1.首先,需要在functions.php创建小工具的引用
require_once get_stylesheet_directory() . '/widgets/widget-index.php';
-widgets 小工具文件夹
--widget-index.php 小工具索引文件(这里会掌管所有小工具的注册)
--widget-tools1.php 具体的小工具
--widget-tools2.php ......
2.在数组中创建小工具的文件名widget-{这里才是array中出现的文件名}.php
$widgets = array(
'tools1',
'tools2'
);
3.在小工具的顶部创建
function widget_ui_tools1() {
$widget_ops = array( 'classname' => 'widget_ui_tools1', 'description' => '显示测试1的内容' );
$this->WP_Widget( true, 'DG-测试1-标题', $widget_ops );
}
具体的关于小工具的一些知识和理论请见:小工具注册&创建 [widgets]
////////////////////////////////////////////////////////////////////
1.你需要在 /wp-content/Themes/ 文件夹下创建你的主题文件夹。
2.你需要一次创建 index.php、screenshot.jpg、style.css
3.你需要在style.css文件的顶部写入以下主题信息
4.进入WP的主题列表,你可以看到你所创建的演示了。
/*
Theme Name: DNNGO One Theme
Description: This is a test theme.
Theme URI: https://www.dnngo.net/
Author: zhangzaiman
Author URI: https://www.dnngo.net/
Version: 1.0
*/
////////////////////////////////////////////////////////////////////
你可以将制作好的静态HTML放入到index.php,然后拆分共用的页头和页脚。
将页头和页脚代码分别放入header.php、footer.php这两个文件中。
在下面页头和页脚部分替换这两个函数(同 include用法一样)
<?php get_header(); ?> //装载页头模版header.php
<?php get_footer(); ?> //装载页脚模版footer.php
AD: 挖沙啦电影网
WordPress主题制作教程[壹] - 了解WP&结构&索引的更多相关文章
- WordPress主题制作教程5:循环
wordpress循环分两种,一种是自定义循环,一种是默认循环. 自定义循环:根据指定参数进行实例化 调用所有页面,post_type值:page对应页面,post对应文章 <?php $arg ...
- WordPress主题制作教程1:文件构成
在最简单的情况下,一个WordPress主题由两个文件构成: index.php ------------------主模版 style.css -------------------主样式表 以下 ...
- WordPress主题制作教程2:导航菜单制作
实现自定义菜单,需要用到的函数是wp_nav_menu(); 在主题目录下的functions.php的 <?php ….. ?> 之间,添加以下菜单注册代码,这样你就可以在主题文件中使用 ...
- WordPress主题制作教程6:常用模版标签
在wordpress中,模板标签指一些字段,比如标题,内容,作者,发布日期,评论数等等,获取静态值和循环里面经常使用. 输出模板标签一般有两种方式:the_yourtag() 输出标签值和get_th ...
- WordPress主题制作教程9:文章形式
wordpress的文章形式: aside -----------------日志:不显示标题的标准文章image --------------图像:单张图像.文章中的首个 <img /> ...
- WordPress主题制作教程7:引用其他php的方法
在模板中包含指定的模板文件,指定{slug}和{name}就可以包含文件{slug}-{name}.php,如果没有这个文件则包含{slug}.php文件 <?php get_template_ ...
- WordPress主题制作教程10:添加文章类型插件Custom Post Type UI
下载 Custom Post Type UI>> 用Custom Post Type UI添加自定义文章类型对于新手来说最简单不过了,下载安装后,在插件栏启用一下,就可以开始添加文章类型了 ...
- WordPress主题制作教程8:自定义page模版
创建新文件,头部注释 <?php /* Template Name: 新的page模版 */ ?> 在页面编辑右栏体现:
- WordPress主题制作教程4:调用指定页面内容
假设页面page_id=86 $page_id = 86; echo "标题:".get_post($page_id)->post_title; echo "内容: ...
随机推荐
- UVa 10780 (质因数分解) Again Prime? No Time.
求mk整除n!,求k的最大值. 现将m分解质因数,比如对于素数p1分解出来的指数为k1,那么n!中能分解出多少个p1出来呢? 考虑10!中2的个数c:1~10中有10/2个数是2的倍数,c += 5: ...
- javascript留言板
用DOM相关方法创建的留言板 <html xmlns="http://www.w3.org/1999/xhtml"> <head> <style> ...
- json格式的字符串使用string.Format()方法报错:输入字符串的格式不正确
解决:把大括号转义一下就可以了啊,大括号的转义是两个{{ 结尾是}} 今天看同事写的代码,发现他在使用string.format拼接类似json格式的数据时,大括号多了一对,感觉不对就查了查 ...
- html5客户端跨域访问php服务端数据
客户端代码: var param = $.param( { feed:JSON.stringify({ content:'abcd' }) } ); $http({ url: 'http://61.1 ...
- Java [Leetcode 303]Range Sum Query - Immutable
题目描述: Given an integer array nums, find the sum of the elements between indices i and j (i ≤ j), inc ...
- ecshop init.php文件分析
1. ecshop init.php文件分析 2. <?php 3. 4. /** 5. * ECSHOP 前台公用文件 6. * ===================== ...
- web.config配置详细说明
(一).Web.Config是以XML文件规范存储,配置文件分为以下格式 1.配置节处理程序声明 特点:位于配置文件的顶部,包含在<configSections>标志中. 2.特定应 ...
- IOS block 记录
1.需要使用 @property(....,copy) 而不是其他的 2.self.request=[ASIHTTPRequest requestWithURL:[NSURL URLWithStrin ...
- Tableau学习笔记之三
1.Tableau可以连接多种多样的数据以及数据库,例如txt,xls,mdb,sql server,oracle等等 2.Tableau还可以从剪贴板上粘贴数据 3.维度和度量的理解: 1)维度即表 ...
- Integer做WeakHashMap的Key应注意的问题
WeakHashMap使用弱引用来作为Map的Key,利用虚拟机的垃圾回收机制能自动释放Map中没有被使用的条目.但是WeakHashMap释放条目是有条件的:首先条目的Key在系统中没有强引用指向: ...