任何问题请联系WX:uu16853

买模板送网站采集器 让你轻松放开双手运营网站!

购买更多有优惠!

WordPress 主题教程 #6:侧边栏

侧边栏是从零开始创建 WordPress 主题系列教程的第六篇,这一篇我们主要讲解 WordPress 主题的侧边栏,让你很快掌握它的结构,并能编码和样式化它。 在开始侧边栏之前,这是现在 index.php 文件的样子。 第1步:创建 id 为 “sidebar” 的 DIV 首先让我们创建一个名字为 sidebar 的 DIV,这样可以把侧边栏中的所有东西都放入其中。在 container 的后面和 </body> 标签的前面输入以下代码: <div class=”sidebar”> </div> 第2步:给侧边栏的 DIV 添加无序列表 在新的 sidebar 的 DIV 标签中创建一个新的无序列表。 <ul> – 开始无序列表 </ul> – 结束无序列表 第3步:给这个无序列表添加原属 增加一个列表元素(LI)到无序列表(UL)的中间并把一个子标题添加到这个列表中。 <li><h2><?php _e(’Categories’); ?></h2> </li> 注意添加制表符到<li> 和 </li> 标签之前为了代码缩进。 <li> – 开始列表元素 <h2> – 开始子标题 […]

WordPress 主题教程 #6b:页面链接列表

页面链接列表是从零开始创建 WordPress 主题系列教程的第六篇的第二部分,通过上一篇的学习,现在已经熟悉了侧边栏的结构,接下来我们将继续修改侧边栏,完成页面链接(Page-link)列表。当完成常规的侧边栏之后,我们将学习如何窗体化(widgetize)侧边栏。 在分类链接上面添加以下代码: <?php wp_list_pages(); ?> 保存并刷新浏览器。效果如下所示: 在默认情况下只有一个页面链接,就是 About 链接。我在我的本地的博客增加了很多多页面和子页面,这样我就有四级页面链接。 查看页面源代码,我们可以看到 wp_list_pages() 产生的完整结构以及代码,如下: 第一,它把所有东西放入列表元素标签(LI),第二,它给列表一个名字,Pages。第三,它增加一个无序列表(UL)。第四,它把每个链接放入到 <li> 和 </li>标签之间。 在上面的截图中,注意到“Pages”这个列表标题和“Categories”这个分类链接标题的大小不一样。 如何使它们一致呢? 添加 ‘title_li=<h2>Pages</h2>’ 到 wp_list_pages() 作为参数。 保存并刷新浏览器结果如下: title_li 是一个用来定制化页面链接列表的标题的参数。<h2>Pages</h2> 是 title_li 这个参数的值 进一步定制化: 在我的例子中,我有四级页面链接。由于布局或者设计的原因使得不能在侧边栏处理那么多级别的链接。为了限制显示列表的层数,增加了 depth 这个参数,并把它设置为 3: 注意,我添加了 depth=3& 而不是仅仅 depth=3。这个 & 在这儿用于把 depth 和 title_li 这两个参数区分开。(如果你只有一个 about 页面链接,你将不会注意有什么不同。) 这里是我的列表的不同之处:(对比这个截图和上面的截图。) 原文:link 标签:WordPress 主题 WordPress 教程

WordPress 主题教程 #6c:存档和链接列表

存档和链接列表是从零开始创建 WordPress 主题系列教程的第六篇的第三分,这篇将比较简单,讲解如何调用存档链接列表和友情链接(blogroll)列表。 第1步 – 增加存档链接列表。 在侧边栏区域的 Categories 列表下面输入以下代码: <li><h2><?php _e(’Archives’); ?></h2> <ul> <?php wp_get_archives(’type=monthly’); ?> </ul> </li> 复制之后检查下代码是否和下面一样: 保存并刷新浏览器。结果如下所示: 发生什么了? 我们使用了 wp_get_arhives() 这个 PHP 函数,并用了 type 这个参数以及 monthly 作为它的值,这样就按月调用存档链接列表。 <li> – 开始列表元素 <h2> – 开始子标题 <?php _e(’Archives’); ?> – 子标题文本 </h2> – 结束子标题 <ul> – 开始在存档链接这个无序列表 <?php wp_get_archives(’type=monthly’); ?> – 按月调用存档列表链接,并把每个链接放入 <li> 和 </li> […]

WordPress 主题教程 #6d:搜索框和日历

搜索框和日历是从零开始创建 WordPress 主题系列教程的第六篇的第四部分,尽管这篇的题目是 搜索框(Search Form) 和 日历(Calendar),但是我同样也会介绍 元数据(Meta) 。这一篇我们会结束常规的侧边栏,然后将在下一篇将介绍如何窗体化(widgetize)化侧边栏。 第1步:增加搜索框 创建一个新文件,然后把该空白文件保存为 searchform.php(当然是和 index.php 在同一个文件夹下)。把 searchform.txt 中的内容拷贝到 searchform.php。 在 index.php 文件,在侧边栏的最顶部输入以下代码: <li id=”search”> <?php include(TEMPLATEPATH . ‘/searchform.php’); ?> </li> 保存并刷新浏览器,结果如下: 刚才发什么了呢? <li id=”search”> – 开始一个名字为 search 的列表元素,给它一个 ID,这样就能够以后样式化它。 include() – 导入任何你想导入的文件。这和使用 WordPress 模板函数去调用模板文件是不同的,因为 include() 只是简单导入已经存在的文件。这里是调用在 searhform.php 文件中的代码。被导入的信息应该在一个博客上基本不会被改变的。 TEMPLATEPATH – 主题文件夹的位置,这里是:wp-content/themes/tutorial ‘/searchform.php’ – 文件名:/searchform.php 在 TEMPLATEPATH 和 […]

bbPress 1.0 发布

bbPress 这款和 WordPress 同属一个公司的开源论坛程经序历多个 alpha, beta 和 RC 版之后终于发布了。 bbPress 1.0 版本在可用性上做了很大的改进,使得习惯使用 WordPress 的同学更加易于使用 bbPress,现在 bbPress 1.0 现在的后台管理界面和 WordPress 非常相类似,并且使用了相类似的描述和名字,并且现在也和 WordPress 一样在修改永久链接的时候可以自动产生 .htaccess 文件。 bbPress 1.0 改进的功能: 可以统计某个主题有多少人参与了讨论 现在 bbPress 自身支持和 WordPress 2.7 和 2.8 的 Cookie 整合,即可以实现在 WordPress 和 bbPress 单一登录。 支持 memecached 对象模式 支持时区 含有完整的 XML-RPC 发布 API 支持 Pingback — 论坛的每个主题和博客的日志一样都可以收到 pingbacks […]

bbPress 使用技巧

我前面对 bbPress 这个论坛程序做了详细的介绍,安装,中文包,以及解释了我为什么使用 bbPress,今天介绍下使用 bbPress 的一些技巧。这篇日志我也会长期保持更新,我会把所知道的 bbPress 技巧在这篇日志中分享,所以请保持关注,可以收藏这篇日志,IE 8 用户,还可以通过 IE8 的 Web Slice 功能订阅到收藏栏。 1. 支持图片 bbPress 默认情况下是非常简洁的,发贴的时候只能输入文本和支持一部分 HTML 标签,默认情况下是无法插入图片了,如果要在发帖的时候使用 <img /> 方式插入图片的话,则需要安装一个 Allow Image 插件。 2. 注册验证 默认情况下 bbPress 注册是没有验证的,这样只要通过一个简单机器程序就可以疯狂注册,这样会产生很多 SPAM 用户,所以我们应该安装一个注册验证的插件:Human Test,这个插件会让用户注册的时候做到数学题,只有答案正确才能通过注册。 3. 批量删除 Bozos 用户 Bozos 用户就是有问题的用户,通过机器手段注册的 SPAM 用户,这类的用户一般都要全部删除了,默认情况下,bbPress 只允许我们一个一个编辑,然后才能删除,这样显然非常麻烦, Delete All Bozos 这个插件就是来处理这个问题,它会一次性把所有 Bozos 用户删除。 4. 添加 Google Analytics 到 […]

我为什么使用 bbPress?

前面我对 bbPress 这个非常简洁易用的论坛程序做了一个简单的介绍,以及如何安装 bbPress 和其中文包,最后我用 bbPress 给 WordPress JAM(我们的 WordPress 项目网站)装了一个论坛,用于分享 WordPress 技巧和一些开源程序。 但是肯定很多同学使用了 bbPress 之后,肯定会觉得它太简单了,甚至一些所谓的论坛标配的功能都没有。但是为什么还使用它呢?下面我就谈谈我为什么使用 bbPress。 开源:bbPress 和 WordPress 一样是开源的,我们可以免费使用它,虽然网上有很多很强大的论坛程序,但是很多都是收费的,或者用在商用上的时候要收费。 简洁:首先 bbPress 代码非常简洁,这个保证了速度上有优势,另外 bbPress 在功能和界面上也非常简洁,比如在发贴的时候只能输入文本和只支持一部分 HTML 标签,甚至都需要安装一个 Allow image 的 bbPress 插件才能使用 <img> 才能插入图片。但是正是它的简洁,让我们可以舍弃了一些不必要的功能,利用 bbPress 强大的插件系统打造一个适合自己风格的论坛。 整合:bbPress 可以和 WordPress 整合,可以和 WordPress MU 整合,还可以和 BuddyPress 整合,成为 SNS 系统的论坛程序,并且保证了用户名统一等。如果你网站需要整合一个轻巧的论坛,那么 bbPress 是最好的选择。 标准:简介是美,标准也是美,bbPress 在这方面做的是最好的,它默认的主题不仅支持 XHTML 和 CSS […]

bbPress 介绍,安装和中文包

bbPress 介绍 什么是 bbPress? bbPress 是 WordPress 母公司 Automaticc 出品的一款开源论坛程序,它是一个符合 Web 标准,非常容易使用的轻量级论坛程序,由于 bbPress 保持了体积小,重量轻,所以速度非常快。bbPress 没有提供过多复杂的功能,所以你要安装一个轻量型的论坛,bbPress 是很好的选择。 对于有更多需求的用户来说,bbPress 也和 WordPress 一样提供了一个非常强大插件系统,让你添加各种功能扩充论坛。并且 bbPress 的 API 接口和 WordPress 也类似,同样是 Action 和 Filter 两种 Hook,如果你熟悉 WordPress 插件制作,那么你也会很快学会 bbPress 插件制作。 在使用方面,bbPress 和 WordPress 拥有基本相同的使用和操作方法,特别是 bbPress 1.0 版本之后,bbPress 后台管理界面和 WordPress 基本类似,使用了相类似的描述和名字,习惯使用 WordPress 的同学对 bbPress 应该很快能够上手。 bbPress 主要特点和功能 快速和轻量级 — bbPress 保持代码简洁,让用户得到最好的体验。 […]

WordPress 主题教程 #6e:窗体化侧边栏

窗体化侧边栏是从零开始创建 WordPress 主题系列教程的第六篇的第五部分,一个支持 Widget 的侧边栏或者说是窗体化(widgetized)的侧边栏几乎是 WordPress 主题的标准。 首先,什么是窗体化(widgetizing)呢?简单的说,窗体化就是能够通过拖拉就能够整理侧边栏的模块。比如我们需要更改分类和存档的位置,只需要简单把分类和存档列表拖到它们的位置即可,根本不用去修改侧边栏的代码。 第1步:创建 functions.php 文件 打开记事本,然后把空白文件保存为 functions.php。把 functions.txt 文件中所有的内容拷贝到 functions.php 中。 回顾一下,现在在“tutorial”主题文件夹下应该有4个文件。 第2步:窗体化侧边栏 直接在侧边栏的第一个 <ul> 标签输入以下代码: <?php if ( function_exists(’dynamic_sidebar’) && dynamic_sidebar() ) : else : ?> 直接在 </ul> 标签之前输入以下代码: <?php endif; ?> 保存 index.php 文件,然后我们到 WordPress 后台 => 外观 => Widget 就可以把 Widget 拖到侧边栏了。 原文:link 标签:WordPress 主题 WordPress […]

WordPress 主题教程 #7:尾部

尾部(footer)是从零开始创建 WordPress 主题系列教程的第七篇,这篇教程将会很简单,去只要在侧边栏下增加个 DIV 标签,然后输入一些版权信息。其实你完全可以不用我说明就能自己去做,可以先自己尝试下,然后返回这里再仔细检查下。 第1步:增加个 DIV 标签 在侧边栏的 DIV 标签下输入以下代码: <div id=”footer”> </div> 第2步:添加版权信息 把尾部的文本放入段落标签中,你可以输入任何你想要的东西,这里是我的: <p> Copyright © 2007 <?php bloginfo(’name’); ?> </p> 保存并刷新浏览器,结果如下: © 用于显示版权符号,还记得在 header 的时候使用的 bloginfo() 函数吗?这里再次使用,“name”是用于调用博客标题,而“url”调用博客的地址。 如果你想你的博客标题成为一个链接,查下头部就知道怎么做了。 原文:link 标签:WordPress 主题 WordPress 教程

WordPress 主题教程 #8:验证 XHTML

验证 XHTML 是从零开始创建 WordPress 主题系列教程的第八篇。在开始学习 CSS 并修改 style.css 文件之前,我们需要学习如何验证代码,简单说,验证(Validate/Validating/Validation)就是检查下代码有没有错误,而验证又分为:XHTML Validator 和 CSS Validator。这篇我们学到 XHTML 验证器。 首先打开 Xampp Control 和浏览器,并进入 http://localhost/wordpress。 然后查看 > 页面源代码。 全选并所有的源代码。 然后到 XHTML Validator。 把刚才复制的源代码粘贴到 Validate by Direct Input 框中。 点击 Check 之后,验证器会就会检查代码,然后把检测结果反馈给我们。如果反馈回来的结果是绿色的,那么代码没有错误。 如果有错误,则根据其提示进行修改。 原文:link 标签:WordPress 主题 WordPress 教程

WordPress 主题教程 #9:Style.css 和 CSS 介绍

Style.css 和 CSS 介绍是从零开始创建 WordPress 主题系列教程的第九篇,学习 CSS 最好的方法就是去使用它,不像 XHTML 和 PHP 需要接触模板的核心文件,同样不要需要理解任何基本概念,只要去用它,通过试用和修正错误是可以让你快速学会。 我们现在已经在 style.css 文件有些内容,让我们先来看看这部分内容是干什么的? 第一行显而易见就是主题的名字。 第二行是这个主题的地址,如果你的主题只是私用的而不准备发布的话,那就不用管它了。 第三行是主题的描述。 第四行是版本号,这是非常重要的,特别是当你公开发布你主题新版本的时候。 第五和第六行分别是主题作者的名字和主页。 在主题信息两边的 /* 和 */ 符号是为了让主题的信息不影响该文件的其他内容,这是 CSS 的注释。当输入 CSS 代码去样式化你的网页的时候,你可能想在这里增加些注释使得能够在以后更清楚知道这部分是干什么的。显然我们并不想你的注释影响实际的代码,所以可以使用 /* 和 */ 这一对符号使得注释不被解释。 下面是处理后的主题信息 第1步:打开 style.css 文件 打开 Xampp,主题文件夹,FireFox,IE 浏览器和 style.css 文件。 在两个浏览器的地址栏都输入:http://localhost/wordpress 从这里开始,我们需要同时在 FireFox 和 IE 上测试主题,不同的浏览器对 CSS 的代码解释是不同的。如果能够在尽可能多的浏览器器上和尽可能多的操作系统上测试你的主题是最好的(Safari,Opera,Linux,Netscape 等等)。如果你和我一样懒,那就只在 FireFox 和 IE 上测试你的主题吧。 […]

WordPress 主题教程 #10:十六进制颜色代码和样式化链接

十六进制颜色代码和样式化链接是从零开始创建 WordPress 主题系列教程的第十篇。这篇继续昨天介绍 CSS 的课程,我们今天将介绍如何着色和十六进制颜色代码。 颜色属性,跟着的是一个十六进制代码,是用于给文本上色。如 body { color: #000000;} 意思是你页面 body 内所有文本将是黑色的。 背景颜色属性,跟着的是一个十六进制代码,是给除背景上色。如 body{ background: #ffffff; } 意思是为 body 上白色背景。 十六进制代码 每个十六进制代码前都有 # 号,然后跟着六位数字。这些数字的范围是从 #ffffff(白色)到 #000000(黑色)。 #ffffff, #eeeeee, #dddddd, #cccccc, #bbbbbb, #aaaaaa, #999999, #888888, #777777, #666666, #555555, #444444, #333333, #222222, #111111 前两位表示红色,第三和第四代表绿色,而最后两位代表蓝色。#ff0000 是红色(red)。#550000 是暗红色(dark red)。 #220000 是更黑色的红色(darker red)。 #00ff00 是绿色(green)。 #0000ff 是蓝色(blue)。那么哪个十六进制代码是黄色呢? #ffff00 就是黄色(yellow)。 […]

WordPress 主题教程 #11:宽度和布局

宽度和布局是从零开始创建 WordPress 主题系列教程的第十一篇,这篇将介绍如何设置每个 DIV 的宽度和布局排版,并且也会展示如何让主题显示正确,并同时在 Firefox 和 IE 下兼容,显示一致。 在我们开始之前,打开 Xampp Control,主题文件夹,Firefox 浏览器,IE 浏览器,index.php和style.css这两个文件。 第1步:设置页面总体宽度 现在我们首先要确定的是主题的总体宽度。我们使用 750px;主题的大小取决于博客绝大多数访问者的屏幕分辨率。需要避免的是使用过大宽度的 的主题,如果博客的读者都大多数使用 800px × 600px 的屏幕,这样的话,如果是使用 900px 宽的主题将会有 100多像素超出他们的屏幕,显然这是对用户很不友好的。 不管怎样,我们怎么样把主题的总体宽度设置为 750px 呢? 我们需要把现在主题中的所有的东西(header,container,sidebar 和 footer)放入一个 750px 的 DIV 标签中。 在 <body> 之后增加:<div id=”wrapper”> 在 </body> 之前增加:</div> 在 style.css 文件中输入以下代码: #wrapper{ margin: 0 auto 0 auto; width: 750px; text-align: left; […]

WordPress 主题教程 #12:日志样式化和其他杂项

日志样式化和其他杂项是从零开始创建 WordPress 主题系列教程的第十二篇,这篇主要讲解如何样式日志,这篇不需要 index.php, 打开Xampp Control,theme 文件夹,Firefox,Internet Explorer 和 style.css 文件。 第1步:Reset CSS 在 style.css 文件中的 body{} 上面输入以下代码来处理大部分页边空白和填充: body, h1, h2, h3, h4, h5, h6, blockquote, p{ margin: 0; padding: 0; } 这里我们使用的是 margin: 0; 而不是 margin: 0 0 0 0;。因为所有的值都是一样的话,只用一个数字就够了,对于填充的设置也是一样的。 保存,刷新 Firefox 和 IE。接下来我们可以增加空白和填充到需要的地方。 第2步:样式化 H1 标题 在 body{} 之后输入以下代码: h1{ font-family: Georgia, Sans-serif; […]

WordPress 主题教程 #13:样式化侧边栏

样式化侧边栏是从零开始创建 WordPress 主题系列教程的第十三篇,这篇主要讲解如何样式化侧边栏里面的所有元素,在对侧边栏样式化之后,这系列教程就将差不多结束了。 打开 XAMPP,主题文件夹,Firefox,IE 和 style.css 文件。 第1步:样式化侧边栏的无序列表 在 .sidebar{} 下输入: .sidebar ul{ list-style-type: none; margin: 0; padding: 0 10px 0 10px; } 现在已经为侧边栏样式化父级无序列表(UL)标签。所有的子 UL 或者内嵌的 UL 将会击继承同样的样式。在这里,它是无列表样式,零空白和10像素的填充。 如下所示: 第二级的(或内嵌的) UL 继承了第一级 UL 的样式。如果你给了第一级 UL 应用了边框,第二级的 UL 同样也会有个边框。 保存并刷新就可以看到列表条目现在已经没有前面的圆点了。 注意下你是如何增加顶部和底部填充的。 第2步:给 LI 添加填充 在 .sidebar ul{} 下输入: .sidebar ul li{ padding: 10px 0 10px […]

WordPress 主题教程 #14:底部和拆分 Index

底部和拆分 Index是从零开始创建 WordPress 主题系列教程的第十四篇,这篇我们完成对主题的样式化和开始把 index.php 文件分成多个小文件。在这篇中,首先要对 style.css 文件进行修改,然后把 index.php 分成一些新的文件。 打开 XAMPP,主题文件夹,Firefox,IE,index.php 和 style.css。 第1步:样式化 footer 给 footer DIV 增加 10px 顶部填充。你还记得如何增加填充?这次我不提供代码。 第2步:设置 footer P 的行距 给 footer 里的所有的 P 标签 18px 行距。那是 #footer p{}.。(今天关于 CSS 的就这么多。) 第3步:header.php 创建一个新文件,把它命名为 header.php。 在 index.php 文件中,把 header DIV 及以上所有东西都拷贝到 header.php 文件中。 这是我的 header.php 文件。不要从我的这里拷贝,从你自己的 index.php 文件拷贝。 第4步:在 index.php […]

WordPress 主题教程 #15:子模板文件

子模板文件是从零开始创建 WordPress 主题系列教程的第十五篇,这篇将和像上一篇创建 header.php,sidebar.php 和 footer.php 这些模板文件一样创建更多的子模板文件。 现在 index.php 文件已被拆分,这一切都变得更简单。 第1步:archive.php 在做这步之前,查看你的侧边栏,点击其中的一个存档链接,结果的页面是不是和首页没有什么不同? 创建一个新文件:archive.php 把 index.php 中所有东西复制到 archive.php 保存 archive.php 在 archive.php 文件,把 the_content 改成 the_excerpt。 再次保存 archive.php 文件 通过创建一个 archive.php 文件并把它改成和 index.php 不一样,这就是定制化存档页面的外观。 现在如果你刷新你的存档页面,它将只显示摘要而不是全文的日志。 为什么你想这么做呢? — 防止 Google 以为重复内容惩罚你的博客,如果一个存档页面和首页显示相同的内容,那就是重复的内容。 如果是私人的博客呢?那么就没有必要去区分首页和存档页面。但这并不是说摘要对私人博客没有用。 同样 — 默认你的类别页面将使用 archive.php 显示内容,如果你没有 archive.php 文件,类别页面将使用 index.php 显示内容。 如果你想类别页面和首页和存档页面看起来不一样,那么创佳一个 category.php 文件并定制化它。 第2步:search.php 创建一个新文件:search.php 把 […]

WordPress 主题教程 #16:留言模板

这篇教程是在 WordPress 2.7 之前撰写的,而 WordPress 2.7 之后支持了 Thread Comments,这里有让你的主题实现 WordPress 2.7 的 Thread Comments 的方法。但是还是建议你查看下这篇教程。 留言模板是从零开始创建 WordPress 主题系列教程的最后一篇。这篇将涉及到博客一个比较重要的东西;评论模板。 你应该知道: 没有快速的方式在 comments.php 建立评论模板 大部分的 WordPress 设计者使用来自 WordPress 默认主题(Kubrick)的默认评论模板根据。 一些设计者会修改默认的评论模板去适合他们自己的需求。 你将使用我的对默认评论模板的修改版本。 第1步:创建 comments.php 创建一个新文件:comments.php。 把我的 comments.txt 文件中的内容复制到 comments.php。 保存 comments.php 文件。 第2步:样式化留言 把我的 comments-template-css 文件中的内容拷贝到你的 style.css 文件中。 复制到 style.css 的底部或者刚好 #footer 的上面。 第3步:在 single.php 添加留言模板 在 single.php […]

WordPress MU 2.9.1 中文版发布

WordPress MU 2.9.1 发布,这可能是 WordPress MU 最后一个版本了,从 WordPress 3.0 开始 WordPress MU 要整合到 WordPress 中了。 本次 WordPress MU 更新,主要是将 WordPress 2.9 发布以来的的新功能和 bug 修正加到了 WordPress MU 当中,如包括回收站、图像编辑器、批量插件更新以及视频嵌入等新奇的功能,还有就是修正了一些以往留下的问题。 如何升级 WordPress MU 2.9.1 由于 WordPress 2.9 新增了一个 commentmeta 表,所以在升级到 WordPress MU 2.9.1 的时候,首先要下一个 add-commentmeta.txt,把他保存为 add-commentmeta.php,然后上传到 wp-content/mu-plugins,然后进入“站点管理 -> 升级”对全站的子博客进行升级。该插件会自动为所有的子博客增加 commentmeta 这个数据表。 接下来升级 2.9.1 的方式和之前的升级模式没有什么区别,直接上传覆盖,或者直接在 WordPress MU 后台更新,然后按照提示即可。 WordPress […]

WordPress 主题教程电子书下载

从零开始制作 WordPress 主题的这个教程是我发布在我爱水煮鱼上的第一个非常完整的 WordPress 相关教程,它会一步一步教你如何制作 WordPress 主题,这个教程最初翻译自 So you want to create WordPress themes huh? 经过多次修正以适应中文习惯,并加入了个人的理解。 很早之前我就发布这个教程的 PDF 电子书之后,截至目前为止已经被下载超过 12354 次,并且这个统计只是 box.net提供的数据,其他下载站的数据无法统计,估计至少还有1万次的下载,从2009年12月份来,我已经对这个教程进行大的修正,今天(2010-1-20)发布修正后的第一版。 当然还会存在一些错误,所以为了能够使得这一教程能够持续的修正,我们接受赞助商,赞助商可以在这个电子书中获得展示广告位和产品或者服务的一段是描述。如果你对我们的教程的话,你可以联系 Denis(http://wpjam.com/contact/)。 曾经很早之前就想过和朋友一起出一本 WordPress 的书,但是一直因为各种原因未能制作 。但是如果把目标缩小一下,通过先写某个专题的 WordPress 电子书,然后分享,也不是一个不错的想法,所以我接下来会继续制作一些其他 PDF 电子书,比如 WordPress 插件制作教程,从零开始使用 WordPress 等等,也许哪一天真的可以把这个整理成一本书。 下载:WordPres 主题教程电子书。 Pseric 也发布了这个教程的繁体中文版,如果你是台湾或者香港的读者,你可以到 Pseric 的 免費資源網路社群 下这本电子书的繁体中文版:免費WordPress佈景主題教學電子書。 标签:WordPress 主题 WordPress 教程

Maintenance Mode:把博客设置为维护状态

Maintenance Mode 是一个 WordPress 插件,它的功能非常简单,能把你的 WordPress 博客设置为维护状态,这个功能特别有用,特别是你对博客测试建设期间不想公开的时候,或者进行一些改动还不想让用户看到的时候,这个是把博客设置为维护状态,当功能更新好,内容填充完再开放给用户使用。 Maintenance Mode 这个插件我在给客户使用 WordPress 开发网站的时候,经常使用到,在建设期间,由于客户不想让人看到站点,但是又需要自己能够预览到站点功能的添加和更新,这个站点刚好符合需求,普通用户则看到维护状态,登录的用户则可以看到网站。 Maintenance Mode:把博客设置为维护状态 Maintenance Mode 使用非常简单,安装之后,在 WordPress 后台 > 设置(Setting) > Maintenance Mode 就可以进行设置了: Maintenance Mode 后台设置 Maintenance Mode 插件第一个设置是让你是否把这个插件设置为 Activated 状态,个人觉得这个基本没有用,既然开启了这个插件自然是让他工作,如果把它设置为 Deactivated 状态还不如直接停止插件。 设置维护状态页面的信息:可以设置标题和页面内容,并且提供了 [blogurl], [blogtitle] 和 [backtime] 三个变量使用。另外这个插件还可以提供一个选项,让你使用当前主题下的 503.php 文件来显示维护状态页面的信息,这样你就可以自定义维护状态页面信息的样式,更加灵活。 Maintenance Mode 还可以让你设置显示多长时间网站会恢复,以及在网页的 HTTP header 中添加 ’503 Service Unavailable’ 和 ‘Retry-After ‘ […]

WordPress 快捷管理工具条:WordPress Admin Toolbar Bookmarklet

当我们想要在 WordPress 撰写日志的时候,一般是需要到你博客的后台,登录之后,点击 日志 > 撰写日志,然后开始写,如果每次都这样是比较麻烦的,当然我们可以直接把撰写日志保存到浏览器的工具栏上,但是如果下次想快速进入,又保存一个书签到浏览器的工具栏上?这样显然不是最好的解决问题的方法。 有没有好的方法能够快速调用 WordPress 各个菜单呢?我们可以使用 WordPress Admin Toolbar Bookmarklet 来实现快捷访问 WordPress 后台管理菜单。WordPress Admin Toolbar Bookmarklet 是一个基于 Javascript 构建的的浏览器工具栏的 Bookmarklet,它能让你简单通过点击就能快速访问到 WordPress 后台所有菜单和子菜单。一旦你把它拖到浏览器的快速工具栏的时候,你就可以通过点击它来访问当前 WordPress 站点的后台菜单: 使用 WordPress Admin Toolbar Bookmarklet 快捷访问后台菜单 这个 Bookmarklet 是使用强大的 jQuery 类库,并且它假定你当前浏览的页面是是基于 WordPress 并且 WordPress 安装在根目录下,点击该 Boookmarklet 会把默认的 WordPress 后台管理菜单附加到你当前浏览的页面,并且通过 CSS 把这个工具条定位到页面的右上角。这样你就可以快捷访问到后台的任何菜单了。你可以把下面的 Bookmarklet 拖到浏览器的工具栏试下: WP Toolbar 这个 Bookmarklet 的局限是首先要你把浏览器的当前页面设置为你的 […]

WordPress 定时作业监控管理插件:WP-Crontrol

WordPress 一个非常的强大的特性就是可以安排定时作业,让它定时执行,就是 WP_Cron 的功能。但是对于普通用户来说这一切都显得很神秘,不知道自己的后台有哪些定时作业在跑,如果不懂编程,添加一个定时作业是非常难的,并经操作 WP_Cron 的 API 是比较繁杂的。所以一个能对定时作业进行监控和管理的插件是很有必要的。 WP-Crontrol 就是一个对 WP_Cron 进行监控和管理的插件,下载或者在后台直接安装好插件,并激活之后就可以使用了。 它有以下功能: 管理和自定义时间间隔 插件安装之后,你可以在后台 setting > Control 中设置,首先我们常看到现在有多少种时间间隔设置。 WP-Crontrol:管理和自定义时间间隔 在 WordPress 默认的设置中,时间间隔只有每小时(hourly),每天(daily)或者每周(weekly)这样三种,这样对于一些有特别需求的用户来说来不是很方便,通过 WP-Crontrol,就可以自己定义更多更有效的时间间隔。 新添加时间间隔,非常简单,只要输入三个字段: Internal name:内部名字,用于程序,所以要注意 PHP 变量命名规则。 Interval:时间间隔,单位为秒。 Display name:显示的名字,用于查看,所以需要起的适合阅读理解的名字。 管理和监控定时作业 插件安装之后,进入 Tools > Crontrol 就可以看到后台已有的定时作业,我们可以通过它查看这些作业的运行时间间隔和下次运行的时间,也可以点击让它立刻就运行。 WP-Crontrol:管理和监控定时作业 上图中的几个作业都是 WordPress 自带和 WP Super Cache 插件带的: wp_cache_gc:WP Super Cache 垃圾收集。 wp_version_check:检查 WordPress 是否有新版,12个小时会检查一次。 wp_update_themes:检查主题是否有更新,也是12个小时一次。 wp_update_plugins:检查插件是否有更新,也是12个小时一次。 […]

WordPress 验证码插件:SI CAPTCHA Anti-Spam

SI CAPTCHA Anti-Spam 是一个 WordPress 插件,它会在留言表单,注册表单,登录表单添加一个 CAPTCHA 验证码,用来防止垃圾留言或者恶意注册。 博客安装 SI CAPTCHA Anti-Spam 插件之后,用户必须要输入图片上的文字才能留言或者注册,这样就可以防止机器人自动注册和留言,增加博客的安全性。这个插件除了可以在 WordPress 工作之外,同样还兼容 WPMU 和 BuddyPress。 SI CAPTCHA Anti-Spam 安装要求 WordPress 2.6 或以上。 需要 PHP 4.0.6 版本以上,并且支持 GD2 库。 如果要在留言表单出现时 CAPTCHA 验证码,那么在主题的的 comments.php 文件中含有 <?php do_action(‘comment_form’, $post->ID); ?>,大部分主题都会有的,这个 hook 最好的位置是留言框的上方。 SI CAPTCHA Anti-Spam 详细设置 安装好 SI CAPTCHA Anti-Spam 之后,就可以进入 WordPress 后台 > 插件 […]

如何实现 WordPress 主题的 Thread Comments 功能

WordPress 从 2.7 版本新增的最大一个功能就是 Thread Comments(嵌套留言和回复),就是可以回复留言并且嵌套显示,这样非常留言的时候更加友好,可以针对日志内容留言,也可以针对某条留言回复,并且可以直接在留言中讨论而不影响其他用户,所以 WordPress 主题实现 Thread Comments 是非常必要的。 由于 WordPress 很早就在 wp_comments 数据表中预留了 comment_parent 字段,在 2.7 版本之前的实现 Thread Comments 功能的插件都是通过使用这个字段实现的,WordPress 2.7 之后自带的 Thread Comments 也不例外,也是通过这个字段实现,所以可以完全兼容之前的 Thread comments 插件。但是要使用 WordPress 2.7 自带的 Thread Comments,需要修改主题的 comments.php 主题文件,我下面就讲解下如何修改,注意这里的代码不向下兼容了,修改了之后,你的主题只能在 WordPress 2.7 或者中使用了。 1. 首先在主题的 header.php 的 wp_head() 函数之前添加如下函数: if(is_singular()) wp_enqueue_script(‘comment-reply’); 上面这个函数是在主题模板中添加 comment-reply.js 这个 JS,它是 Thread comment […]

WordPress 中如何把留言和 Trackbacks 区分开

前面我讲了如何让你的 WordPress 主题实现 Thread Comments 功能,但是并没有实现把留言和 Trackbacks 分开,并且也没有把它们进行样式化,那么今天我就讲讲如何把留言和 Trackbacks 区分开,并且简单样式化它们。 1. 首先修改你主题的 single.php 文件。把 <?php comments_template(); ?> 函数替换成 <?php comments_template(”, true); ?> 上面的修改经让 comments_template 函数创建一个$comments_by_type 的变量。后面我们将会用到。 2. 打开 comments.php 文件,把 <ul class="commentlist">     <?php wp_list_comments(); ?> </ul>; 替换成 <?php if ( ! empty($comments_by_type[‘comment’]) ) : ?> <ul class="commentlist">     <?php wp_list_comments(array (‘type’ => ‘comment’); ?> […]

WordPress 手机浏览插件:MobilePress

随着 3G 网络的发展,手机已经成为人们生活中越来越重要的网络终端,越来越多的人开始使用手机来浏览网页,但是很多网站其实并不是适合手机浏览,其中就包括我们大家使用 WordPress 构建的博客。以前我推荐使用 FeedM8 这个服务给博客创建适合手机浏览的版本,但是 FeedM8 毕竟是第三方服务,自己不能做太多的控制,并且还需要让用户记住你在 FeedM8 的地址和用户名,并不是很方便。其实对于 WordPress 博客的用户,我们可以使用 MobilePress 这款 WordPress 插件,让你的博客适合手机浏览,用户只需在手机浏览器中输入你博客的地址即可。 MobilePress 介绍 MobilePress 是一款 WordPress 插件,它首先通过浏览器的 User-Agent 判断出用户是否使用手机在浏览你的 WordPress 博客,然后它会给博客更换一款适合手机浏览的主题,让手机用户更好的浏览博客。 MobilePress 支持绝大多数手机,如 iPhone, Android, 黑莓, Windows CE, Nokia 等类型手机,和 Opera Mini, UCWeb 等手机浏览器。 MobilePress 安装和使用 MobilePress 安装非常简单,只要上传激活即可,也可以通过 WordPress 后台直接安装。 安装好 MobilePress 之后,在 WordPress 后台主菜单就多了一个 MobilePress 的菜单,他有两个子菜单: Options 这里的 […]

和 WordPress 相关的一些专有名词

无论你是刚接触 WordPress,还是已经使用了几个月,你肯定见过下面的这些名词,但是有些却不知道什么意思,这就是 WordPress 自己的专有名词。 是的,正是因为 WordPress 的全球流行,WordPress 也有了自己的一些独特的名词术语(Lingo)。这篇文章就是深入探讨这些和 WordPress 相关的术语,然后使你在学完这篇文章之后,能够让你在以后使用 WordPress 的时候,能够不会因为一些专有名词的原因而停滞不前! Codex – WordPress.org Codex 其实就是 WordPress 的维基,它是一个包含各种和 WordPress 相关的信息的平台。Codex 是由志愿者撰写的,当你对 WordPress 有不明白的时候,Codex 就是你第一个去查找答案的地方。 Parameter – 参数,在讨论插件或者主题开发的时候常常被提到,在 WordPress 模板函数的时候常作为选项。如模板函数 bloginfo(),它可能是这样的:<?php bloginfo(‘name’); ?>,在括号里面的东西就是参数。 Template Tags – 模板标签,它是博客的模板中来显示动态信息,或者用来定制化博客,它可以让你的博客独一无二。 Loop 或者 The Loop – 主循环是 WordPress 用来显示博客的日志的。使用主循环,WordPress 在当前页面显示每篇日志,然后通过循环里面的模板函数来格式化它们。任何在主循环中的 HTML 或者 PHP 代码,每个日志都会用到。当你看到 WordPress 的文档中提到:“这个标签必须在 The Loop”,这里说的就是住循环。 .htaccess […]

WordPress Transients API 介绍

Transients 是瞬时的意思,WordPress 的 Transients API 就是 WordPress 用来存储一些缓存的数据到数据库中最简单也是最标准的方法,Transients API 给这些缓存的数据一个过期时间,并且时间已到就会自动删除,所以如果你在制作 WordPress 插件的时候,需要存储一些有生命周期的选项的时候,Transients API 就是最好的选择。 WordPress Transients API 函数 Transients API 是 WordPress 2.8 版本开始才有的,它和 WordPress 的 Option API (get_option, add_option, update_option, delete_option))基本一样,也是使用 WordPress wp_options 数据表来存储这些缓存数据,唯一区别就是 Transients API 有一个过期时间。 Transients API 以下三个函数:set_transient(), get_transient(), delete_transient()。 // 保存一个临时数据到数据库中 set_transient($transient, $value, $expiration);   // 从数据库中获取一个临时数据 get_transient($transient);   // 从数据库中删除一个临时数据 […]

WordPress 项目案例:VANS BLOG

VANS BLOG这个 WordPress 项目我们 WPJAM 团队已经做好了差不多一年了,但是由于某些原因一直没有在博客中分享,现在所有问题都已经解决了,所以特别在博客中分享下。 VANS 是美国潮流品牌,成立于1966年,主要生产滑板和鞋子,每一款鞋子都拥有独一无二的个性,是美国、日本、香港等地时尚年轻人的必备休闲鞋款。 WordPress 项目案例:VANS BLOG VANS BLOG 整个网站是基于 WordPress 构建的,在个性化定制方面做很多设置: 首先在首页我们设置一个 Slide,用来展示重点内容和推荐,我们设置比较简单,后台可以直接设置主标题,副标题,链接和图片 URL。现在我们 WPJAM 新做的项目中都可以实现直接上传图片。 VANS 的每个分类都给设置一种颜色,我们制作了一个 category color(分类颜色)插件,在后台可以设置每个分类的颜色,主题在分类列表和每篇日志都调用这个颜色来显示,是的整个网站色彩缤纷。如下所示: 分类颜色和后台设置 VANS 每篇文章都有一个缩略图,我们使用自定义字段来制作这个功能,并且在主题里添加了相关的代码让用户直接在 WordPress 后台上传缩略图,方便客户使用: 在 WordPress 后台上传缩略图 还有一些音乐视听的功能,这里就不细说了,现在 VANS BLOG 还进行有奖问题,如果你感兴趣,可以去参加下。在抽奖这个环节上,其实可以做得更好,我们在新的项目捞一网中就做的非常好,有抽奖模块,问题管理模块,统计模块,可以对用户行为做简单的分析。 标签:WordPress 项目

豆瓣连接:使用豆瓣登陆 WordPress 博客

豆瓣开放API 的认证体系也是基于 OAuth,所以我利用 OAuth 协议制作了这个豆瓣连接 插件。它的主要功能是使用豆瓣的账号登陆你的 WordPress 博客,并且留言使用豆瓣的头像。下面介绍下简单的使用过程: 首先你要确认下你的服务器是否支持豆瓣连接插件,豆瓣连接这个插件要求:PHP5 并且含有 CURL 扩展。你可以通过 phpinfo() 函数来检测。下面是详细的安装和使用步骤: 1. 到这里下载 豆瓣连接 WordPress 插件,解压缩开。 2. 在使用插件之前,需要到豆瓣申请 API Key。申请之后,你会获得一个 Key 和一个私钥,你把这个两个数值分别填入到 douban-connect.php 文件开始的 $douban_consumer_key 和 $douban_consumer_secret 这两个变量当中。 3. 把 douban-connect 整个文件夹上传到 WordPress 的插件目录当中。注意最后的路径,应该是 plugins/douban-connect/douban-connect.php 否则会有问题的。 4. 在 WordPress 后台 > 插件菜单 > 找到这个插件,然后激活。 5. 这时候你应该在留言框处可以看到 的按钮。 6. 如果没有该按钮,你应该检查下是否你的主题的 Comments.php 文件中含有 comment_form […]

单点登录介绍和在 WordPress 中的应用

单点登录(Single Sing On),简称 SSO,指的是用户通过一个账号(可以是邮箱,URL 或者账号)就能登陆所有支持单点登录的应用系统,其实简单的理解只要你某个的账号(如 OpenID,Gmail 邮箱账号,新浪微博账号,豆瓣账号)能够实现多个地方登陆,就可以把它理解为单点登录。 OpenID 说到单点登录,不得不提 OpenID,OpenID 是最早提出的单点登录的协议,OpenID 是一个以用户为中心的数字身份识别框架,通过 URL 来标识身份,就是你有了一个 OpenID,到所有支持 OpenID 的网站就不需要重复注册了,这样就避免老是注册的问题。 使用 OpenID,你需要你到 OpenID 提供商去注册一个 URL 来标识身份,虽然我们可以通过 OpenID 的委托机制来实现把自己的博客地址作为 OpenID,但是毕竟需要注册,而且很多人对 OpenID 的概念了解不够,使用 URL 作为身份标识相对于邮箱或者账号名来说也是不那么方便,所以 OpenID 这个概念虽然很好,但是实际用途却不广。 让 WordPress 实现 OpenID 支持可以通过一个名字也叫做 OpenID 的插件实现,OpenID 和其 WordPress 插件 这篇文章有对 OpenID 和其 WordPress 插件有详细的介绍。 但是随着很多大服务厂商对 OpenID 的支持,如 Google 账号支持 OpenID,并且 Yahoo,AOL,Facebook,微软 Live […]

100% Secure Checkout

PayPal / MasterCard / Visa