不会编程,连最基本的html代码也不懂,可以制作wordpress模板吗?
可以!
只要你会复制、粘贴,按照蜗牛博客为您提供的“wordpress模板制作傻瓜教程”,你也可以制作出自己想要的wordpress模板来。
在本章教程中,蜗牛博客将会手把手地教你通过复制/粘贴的方法制作一个Wordpress模板。
下面就是你通过本教程制作的模板成果:
设定Wordpress模板制作的工作环境
在学习本教程之前,你先要使用XAMPP 或者 WAMP 在你的电脑上搭建一个Web服务器(如果你使用的是Mac操作系统,请使用MAMP),这样你就可以非常方便地在本地测试Wordpress模板的各种效果,而不用将Wordpress的模板文件反复通过FTP上传到你的虚拟主机或者服务器上。具体的搭建方法请参看蜗牛博客的另一篇教程《使用XAMPP搭建WordPress模板制作的本地环境》。
至于代码编辑器,我强烈推荐Notepad++,Notepad++是我很喜欢的一款开源的代码编辑器,它强大,快捷,高效,不仅有语法高亮度显示,也有语法折叠功能,并且支持宏以及扩充基本功能的外挂模组。当然,如果你不喜欢使用Notepad++,Notepad 和 Notepad 2 也非常不错。
创建模板文件夹及文件
进入Wordpress安装目录下面的“wp-content/themes/”目录下面,建立一个“New Theme”的文件夹,用来存放本次教程生成的各种文件。并在文件夹下面建立一个“images”文件夹及以下文件。
style.css、header.php、index.php、single.php、footer.php、comments.php、category.php、page.php、sidebar.php、functions.php
完成后的效果图:
第一步:Style.css
Style.css是一个WordPress模板的重要组成部分,它负责控制整个模板的所有样式,包括:字体,颜色,图片,链接,模块的位置等等,该文件顶部还包含模板的相关信息,用于提供模板的名字、描述、作者、版本号及相关链接。
请记住,Style.css是让模板正常工作的必不可少的两个文件之一,另外一个文件就是我们将在后面学习的index.php文件。
首先将以下代码复制到style.css文件。
/* Theme Name: New WP 3.0 Theme URI: http://www.onextrapixel.com Description: A clean and minimal theme that is completely compatible with WordPress 3.0 Author: Keenan Payne Author URI: http://slackrmedia.com Version: 1.0 */
上面代码中的信息可以根据你的需要进行修改,不过要注意的是确保所有的内容都在“/*”、“*/”注释符号内。
下面我们对样式进行定义,以便在模板的其他php文件中调用。
body{
font-family: Arial, Helvetica, Georgia, Sans-serif;
font-size: 12px;
background: #d9d9d9;
color: #000000;
}
a:link, a:visited{
text-decoration: none;
color: #000000;
}
a:hover{
color: #5f5f5f;
}
h1 {
font-size: 54px;
}
h3 {
font-size: 24px;
}
#wrapper{
margin: 0 auto;
width: 750px;
text-align: left;
background: #fff;
padding: 20px;
}
#header{
width: 750px;
height: 100px;
}
#blog{
float: left;
width: 520px;
padding: 0 10px 10px 10px;
}
.sidebar{
float: left;
width: 200px;
margin: 0 0 0 10px;
font-size: 14px;
list-style: none;
}
#footer{
clear: both;
text-align: center;
height: 50px;
background: #ccc;
padding: 10px;
}
以上代码的作用是定义了模板的字体、背景颜色、链接等。
#wrapper这个是网页的全尺寸,即包含所有页面内容的尺寸。
#header 指网页的header部分。
#blog 显示最近的文章。
最后我们定义了#sidebar和#footer的样式,在以后的内容中我们还会深入学习#sidebar和#footer,在这就不多说了。
第二步:Header.php文件
紧接着,我们建立header.php文件,这个文件是用来设定网站Logo以及导航条。将以下代码拷贝进去。

<!DOCTYPE html> <html <?php language_attributes(); ?>> <head> <meta charset="<?php bloginfo( 'charset' ); ?>" /> <title><?php wp_title ( '|', true,'right' ); ?></title> <link rel="profile" href="http://gmpg.org/xfn/11" /> <link rel="stylesheet" type="text/css" media="all" href="<?php bloginfo( 'stylesheet_url' ); ?>" /> <link rel="pingback" href="<?php bloginfo( 'pingback_url' ); ?>" />
<?php
/*
* Add this to support sites with sites with threaded comments enabled.
*/
if ( is_singular() && get_option( 'thread_comments' ) )
wp_enqueue_script( 'comment-reply' );
wp_head();
wp_get_archives('type=monthly&format=link');
?>
</head>
<body>
<div id="wrapper">
<div id="header">
<h1><a href="<?php echo get_option('home'); ?>"><?php bloginfo('name'); ?></a></h1>
</div>
你不必清楚地知道以上代码的每一行的意思,只需要记住你制作模板时,需要将以上代码copy到header.php文件就行了。在上面的代码中,我们首先作了一个DOCTYPE声明,告知浏览器文档使用哪种 HTML 或 XHTML 规范。然后调用了style.css文件,然后调用Wordpress的评论功能。
各函数的简要意义如下:
language_attributes():这个函数是用于生成当前博客所使用的语言的,比如"lang='zh-CN'",用来告诉浏览器当前页面是基于中文的。
bloginfo('charset'):是用来指定页面编码的,因为WordPress正常情况下使用的是UTF-8编码,所以这里可以使用UTF-8替换。
if ( is_singular() && get_option( 'thread_comments' ) ):判断是不是独立页面,从数据库调用thread_comments信息。
第三步:添加自定义导航条
在第二步,我们在header.php中定义了博客的名称以及其他一些基本信息。在本步骤中,我们将在header.php添加自定义导航条。在向header.php添加代码之前,我们需要先打开function.php,并添加以下代码以开启自定义菜单功能。
<?php
//Add support for WordPress 3.0's custom menus
add_action( 'init', 'register_my_menu' );
//Register area for custom menu
function register_my_menu() {
register_nav_menu( 'primary-menu', __( 'Primary Menu' ) );
}
?>
add_action 的作用是让模板支持定义菜单。然后,注册一个自定义菜单并命名为“Primary Menu”。
为了在我们的模板中使用这个自定义菜单,我们需要在header.php文件末尾添加以下代码。
<?php wp_nav_menu( array( 'sort_column' => 'menu_order', 'menu_class' => 'nav', 'theme_location' => 'primary-menu' ) ); ?>
上面代码中的wp_nav_menu()是wordpress的一个函数,它的用法如下:
<?php wp_nav_menu( array( 'theme_location' => '' //指定显示的导航名,如果没有设置,则显示第一个 'menu' => 'header-menu', 'container' => 'nav', //最外层容器标签名 'container_class' => 'primary', //最外层容器class名 'container_id' => '',//最外层容器id值 'menu_class' => 'sf-menu', //ul标签class 'menu_id' => 'topnav',//ul标签id 'echo' => true,//是否打印,默认是true,如果想将导航的代码作为赋值使用,可设置为false 'fallback_cb' => 'wp_page_menu',//备用的导航菜单函数,用于没有在后台设置导航时调用 'before' => '',//显示在导航a标签之前 'after' => '',//显示在导航a标签之后 'link_before' => '',//显示在导航链接名之后 'link_after' => '',//显示在导航链接名之前 'items_wrap' => '<ul id="%1$s">%3$s</ul>', 'depth' => 0,////显示的菜单层数,默认0,0是显示所有层 'walker' => ''// //调用一个对象定义显示导航菜单 )); ?>
第四步:修改定义导航条样式
通过上面的步骤,自定义导航条已经可以正常显示了,不过它不够美观。为了美化它,我们在style.css文件中建立一个“nav”的类别(将以下代码拷贝到style.css)。

.nav{
width:750px;
background: #000;
display:block;
float:left;
position:relative;
}
.nav ul{
list-style:none;
}
.nav li{
float:left;
position:relative;
}
在.nav,我们作了一些基本的设定,比如导航条的宽度、背景、对齐方式等。
下面,设定导航条的链接和下拉菜单。
.nav a{
display:block;
text-decoration:none;
color:#fff;
padding:0 15px 10px 0;
font-size:13px;
font-weight:bold;
}
.nav ul ul{
display:none;
position:absolute;
top:100%;
left:0;
float:left;
z-index:99999;
background: #212121;
}
.nav ul ul ul{
top: 30%;
left:100%;
background: #343434;
}
.nav ul ul a{
height:auto;
line-height:1em;
padding:10px;
width:130px;
}
.nav li:hover > a,.nav ul ul:hover > a{
color:#ccc;
}
.nav ul li:hover > ul{
display:block;
}
在 .nav ul ul,我们设定了定位类型为绝对定位,同时修改了背景颜色以使下拉菜单更加醒目,z轴指标设定为99999,以确保它始终在其他元素的上面。
对第三层下拉菜单,我们修改了背景颜色,同时设定 left 100%,使它刚好位于第一层下拉菜单的右边。设定top: 30%,使它刚好附着于第二层下位菜单,又刚好与菜单分离开来
最后,对下拉菜单的链接颜色进行了设定,对鼠标停留在上面的样式进行了设定。
第五步:index.php
Index.php网站的首页,包含header, footer和sidebar这些区域的内容,还调用最新的文章和使用了wordpress3.0的文章缩略图的功能。
<?php get_header(); ?>
<div id="blog">
<?php if(have_posts()) : ?><?php while(have_posts()) : the_post(); ?>
<div class="post">
<h3><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3>
<div class="entry">
<?php the_post_thumbnail(); ?>
<?php the_content(); ?>
<p class="postmetadata">
<?php _e('Filed under:'); ?> <?php the_category(', ') ?> <?php _e('by'); ?> <?php the_author(); ?><br />
<?php comments_popup_link('No Comments »', '1 Comment »', '% Comments »'); ?> <?php edit_post_link('Edit', ' | ', ''); ?>
</p>
</div>
</div>
<?php endwhile; ?>
<div class="navigation">
<?php posts_nav_link(); ?>
</div>
<?php endif; ?>
</div>
<?php get_sidebar(); ?>
<?php get_footer(); ?>
以上代码是在首页输出header.php, sidebar.php, 以及 footer.php文件的内容,是通过在模板文件中加入以下代码实现的:
<?php get_header(); ?> <?php get_sidebar(); ?> <?php get_footer(); ?>
上面我们所加的代码有一行是使用缩略图的功能,不过它现在还没有发生作用,在下一步对functions.php进行设定之后它才会生效。
第六步:激活缩略图
在第五步中,我们在首页加入了文章缩略图的功能,不过它还没有生效,现在打开functions.php,在菜单导航代码的后面加入以下代码。

// Enable post thumbnails
add_theme_support('post-thumbnails');
set_post_thumbnail_size(520, 250, true);
这段代码非常容易理解,第二行的意思是在模板中使用文章缩略图的功能,第三行设定缩略图的大小。
需要注意的是,当我们向functions.php添加代码时,一定要将代码加到“”之间,否则无法执行。
第七步:siderbar.php
sidebar.php就是设定显示在网页sidebar区域的内容,既然我们已经在index.php调用了这个文件,我们现在要做的就是将以下代码copy到siderbar.php,它就会出现在首页了。
<div class="sidebar">
<?php if ( function_exists('dynamic_sidebar') && dynamic_sidebar() ) : else : ?>
<?php endif; ?>
</div>
同时,将以下代码放入functions.php的起始位置。
//Some simple code for our widget-enabled sidebar
if ( function_exists('register_sidebar') )
register_sidebar();
这段代码的作用是告诉wordpress注册一个siderbar,因为我们已经在siderbar.php调用了siderbar。
wordpress可以同时有多个siderbar,不过为了使本教程昼量简单,关于多个siderbar的问题,还是请你自行Google吧。
待续.......
作者: 蜗牛博客
网址: http://www.snailtoday.com/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明。

