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 "内容: ...
随机推荐
- LA 3704 (矩阵快速幂 循环矩阵) Cellular Automaton
将这n个格子看做一个向量,每次操作都是一次线性组合,即vn+1 = Avn,所求答案为Akv0 A是一个n*n的矩阵,比如当n=5,d=1的时候: 不难发现,A是个循环矩阵,也就是将某一行所有元素统一 ...
- aspx中的表单验证 jquery.validate.js 的使用 以及 jquery.validate相关扩展验证(Jquery表单提交验证插件)
这一期我们先讲在aspx中使用 jquery.validate插件进行表单的验证, 关于MVC中使用 validate我们在下一期中再讲 上面是效果,下面来说使用步骤 jQuery.Valid ...
- LeetCode Contains Duplicate (判断重复元素)
题意: 如果所给序列的元素不是唯一的,则返回true,否则false. 思路: 哈希map解决. class Solution { public: bool containsDuplicate(vec ...
- datatables 参数详解(转)
//@translator codepiano //@blog codepiano //@email codepiano.li@gmail.com //尝试着翻译了一下,难免有错误的地方,欢迎发邮件告 ...
- noip2003提高组题解
这一年的前三题虽然难度不高,但是第二题极为繁琐,想在考场上用较短的时间拿到第二题的分数难上加难.所以必须要调整策略,争取拿其他三题的分数.第四题是比较普通的搜索题,分数比较好拿,但是很容易想成树形DP ...
- 在Windows下编译ffmpeg完全手册
本文的内容几乎全部来自于FFmpeg on Windows,但是由于国内的网络封锁,很难访问这个域名下的内容,因此我一方面按照我自己的理解和实践做了翻译,另一方面也是为了能提供一个方便的参考方法. 注 ...
- mysql5.6子查询的优化
https://dev.mysql.com/doc/refman/5.6/en/subquery-optimization.html Semi-join in MySQL 5.6 MySQL 5. ...
- IO的阻塞、非阻塞、同步、异步
- bzoj 2134 单选错位(期望)
[题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=2134 [题意] ai与ai+1相等得1分,求期望. [思路] 每个题的期望都是独立的. ...
- 优雅地对泛型List 进行深拷贝
public class People { public string Name; public int Age; public People(string name, int age) { this ...