页面模板的作用
让WordPress的页面有不同的布局或者样式。wordpress提供了页面功能,可以让我们建立不同的页面以展示不同的内容。如联系方式、留言本等等,很多人都喜欢建个这个。这些页面建立好了,可以自定义标题和内容。但是不同的页面,布局却是完全一样的,没法按自己的需求去改变和添加。有时候我们只想在某一个页面的边栏上添加个什么东西,比如说图片,这时就可以通过自定义模板来实现特定功能的页面。
1、通过ftp工具在你的主题目录下新建一个php文件。比如:links.php(名字随便取)。
2、编辑这个新建的文件,在文件头部加上这段代码。
代码如下 | 复制代码 |
< ?php /* Template Name:友链 */ ?> |
3、将你的page.php中的内容直接拷贝到links.php当中。
4、然后在links.php 中找到你需要改变的地方。我想,最主要修改的一个是边栏,一个是文章内容,至于怎么改,得看你的需求。
5、修改并保存好这个文件后,创建一个新页面或者修改已存在的页面。在右下边有个“页面模板”的面板,在下拉菜单中选中“友链”后保存就可以了。
links.php当中可以是任何内容,不一定一定要复制page.php中的内容。
甚至你可以在其中直接放上html代码而不加任何其它东西。
创建一个联系(contact)页面模板
如果你的网站有 联系单页面(contact page),这样会很容易让您的网站访问者发送电子邮件到你的WordPress博客管理员。下面是一个示例是新建一个联系人的单页面模板主题,你可以把下面的代码复制下:
代码如下 | 复制代码 |
<?php /* Template Name: Contact */ ?> <?php $nameError = ''; $emailError = ''; $commentError = ''; $sumError = ''; if(isset($_POST['submitted'])) { if(trim($_POST['contactName']) === '') { $nameError = 'Please enter your name.'; $hasError = true; } else { $name = trim($_POST['contactName']); } if(trim($_POST['email']) === '') { $emailError = 'Please enter your email address.'; $hasError = true; } else if (!eregi("^[A-Z0-9._%-]+@[A-Z0-9._%-]+.[A-Z]{2,4}$", trim($_POST['email']))) { $emailError = 'You entered an invalid email address.'; $hasError = true; } else { $email = trim($_POST['email']); } if(trim($_POST['comments']) === '') { $commentError = 'Please enter a message.'; $hasError = true; } else { if(function_exists('stripslashes')) { $comments = stripslashes(trim($_POST['comments'])); } else { $comments = trim($_POST['comments']); } } if(trim($_POST['sum']) === '' || trim($_POST['sum']) != '11' ){ $sumError = "Please enter what's 7 + 4"; $hasError = true; } if(!isset($hasError)) { $emailTo = get_option('pu_email'); if (!isset($emailTo) || ($emailTo == '') ){ $emailTo = get_option('admin_email'); } $subject = '[Contact Form] From '.$name; $body = "Name: $name nnEmail: $email nnComments: $comments"; $headers = 'From: '.$name.' <'.$emailTo.'>' . "rn" . 'Reply-To: ' . $emailTo; mail($emailTo, $subject, $body, $headers); $emailSent = true; } } ?> <?php get_header(); ?> <section class="box grid_9 list_posts"> <div class="inner"> <?php if (have_posts()) : while (have_posts()) : the_post(); ?> <div <?php post_class() ?> id="post-<?php the_ID(); ?>"> <h1 class="entry-title"><?php the_title(); ?></h1> <div class="entry-content"> <div class="contact-form clearfix"> <?php if(isset($emailSent) && $emailSent == true) { ?> <div class="thanks"> <p><?php _e('Thanks, your email was sent successfully.', 'framework') ?></p> </div> <?php } else { ?> <?php the_content(); ?> <?php if(isset($hasError) || isset($captchaError)) { ?> <p class="error"><?php _e('Sorry, an error occured.', 'framework') ?><p> <?php } ?> <form action="<?php the_permalink(); ?>" id="contactForm" method="post"> <ul class="contactform"> <li><label for="contactName"><?php _e('Name:', 'framework') ?></label> <input type="text" name="contactName" id="contactName" value="<?php if(isset($_POST['contactName'])) echo $_POST['contactName'];?>" class="required requiredField" /> <?php if($nameError != '') { ?> <span class="error"><?php echo $nameError; ?></span> <?php } ?> </li> <li><label for="email"><?php _e('Email:', 'framework') ?></label> <input type="text" name="email" id="email" value="<?php if(isset($_POST['email'])) echo $_POST['email'];?>" class="required requiredField email" /> <?php if($emailError != '') { ?> <span class="error"><?php echo $emailError; ?></span> <?php } ?> </li> <li class="textarea"><label for="commentsText"><?php _e('Message:', 'framework') ?></label> <textarea name="comments" id="commentsText" rows="20" cols="30" class="required requiredField"><?php if(isset($_POST['comments'])) { if(function_exists('stripslashes')) { echo stripslashes($_POST['comments']); } else { echo $_POST['comments']; } } ?></textarea> <?php if($commentError != '') { ?> <span class="error"><?php echo $commentError; ?></span> <?php } ?> </li> <li><label for="sum"><?php _e('7 + 4:', 'framework') ?></label> <input type="text" name="sum" id="sum" value="<?php if(isset($_POST['sum'])) echo $_POST['sum'];?>" class="required requiredField" /> <?php if($sumError != '') { ?> <br/><span class="error"><?php echo $sumError; ?></span> <?php } ?> </li> <li class="buttons"> <input type="hidden" name="submitted" id="submitted" value="true" /> <label></label><button class="button-message" type="submit"><?php _e('Send Email', 'framework') ?></button> </li> </ul> </form> <?php } ?> </div> </div> </div> <?php endwhile; else: ?> <div id="post-0" <?php post_class() ?>> <h1 class="entry-title"><?php _e('Error 404 - Not Found', 'framework') ?></h1> <div class="entry-content"> <p><?php _e("Sorry, but you are looking for something that isn't here.", "framework") ?></p> <?php get_search_form(); ?> </div> </div> <?php endif; ?> </div> </section> <?php get_sidebar(); ?> <?php get_footer(); ?> |
创建一个宽屏页面模板
全宽页面模板是其主要区别在于,侧边栏已经被删除,使得在内容区域伸展跨越页面宽度的模板。
代码如下 | 复制代码 |
<?php /* Template Name: Fullwidth */ ?> <?php get_header(); ?> <section class="box grid_12 list_posts"> <div class="inner"> <article id="primary" class="hfeed"> <?php if (have_posts()) : while (have_posts()) : the_post(); ?> <div <?php post_class() ?> id="post-<?php the_ID(); ?>"> <h1 class="entry-title"><?php the_title(); ?></h1> <div class="entry-content"> <?php the_content(); ?> <?php wp_link_pages(array('before' => '<p><strong>'.__('Pages:', 'framework').'</strong> ', 'after' => '</p>', 'next_or_number' => 'number')); ?> </div> </div> <?php comments_template('', true); ?> <?php endwhile; endif; ?> </article> </div> </section> <?php get_footer(); ?> |
创建一个存档页面模板
存档页面模板将显示您的所有旧的文章列表。在这个模板也将按月按类别列出前30天的所有的列表。
代码如下 | 复制代码 |
<?php /* Template Name: Archives */ ?> <?php get_header(); ?> <section class="box grid_9 list_posts"> <div class="inner"> <?php if (have_posts()) : while (have_posts()) : the_post(); ?> <div <?php post_class() ?> id="post-<?php the_ID(); ?>"> <h1 class="entry-title"><?php the_title(); ?></h1> <div class="entry-content"> <div class="archive-lists"> <h4><?php _e('Last 30 Posts', 'framework') ?></h4> <ul> <?php $archive_30 = get_posts('numberposts=30'); foreach($archive_30 as $post) : ?> <li><a href="<?php the_permalink(); ?>"><?php the_title();?></a></li> <?php endforeach; ?> </ul> <h4><?php _e('Archives by Month:', 'framework') ?></h4> <ul> <?php wp_get_archives('type=monthly'); ?> </ul> <h4><?php _e('Archives by Subject:', 'framework') ?></h4> <ul> <?php wp_list_categories( 'title_li=' ); ?> </ul> </div> </div> </div> <?php endwhile; else: ?> <div id="post-0" <?php post_class() ?>> <h1 class="entry-title"><?php _e('Error 404 - Not Found', 'framework') ?></h1> <div class="entry-content"> <p><?php _e("Sorry, but you are looking for something that isn't here.", "framework") ?></p> <?php get_search_form(); ?> </div> </div> <?php endif; ?> </div> </section> <?php get_sidebar(); ?> <?php get_footer(); ?> |
好了,到这为止,有关创建WordPress的自定义页面模板就介绍到这里。希望你通过这篇文章的简单了解,可以制作出各种漂亮的页面模板。