大家期待了这么久,WordPress 3.0上周五最终正式发布了。在这些新功能中,自定义内容类型给博主们带来了无限的可能。这篇教程就向大家介绍如何利用WordPress3.0的自定义内容类型这个功能来创建一个次博客,你可以利用它来显示产品列表。 准备工作 首先,什么是自定义内容类型呢?简单地说,自定义内容类型就是一个可以自定义的一篇博客文章或页面。例如,我想在一个博客上创建一个 优惠码列表,本来可以使用一个静态页面,但是以后如果要更新和添加新的优惠码就有点头疼了。因此,我创建了一个叫做“优惠(coupon)”的自定义内容类型以及一个页面模板来显示所有的优惠码,这样一来,管理这些优惠码就变得非常容易了: 创建自定义内容类型 首先要做的就是在主题 functions.php文件里添加下面的代码来创建一个自定义内容类型: function create_my_post_types() { register_post_type('coupons', array( 'label' => __('Coupons'), 'singular_label' => __('Coupon'), 'public' => true, 'supports' => array( 'title', 'excerpt', 'comments', 'custom-fields' ), 'rewrite' => array( 'slug' => 'coupons', 'with_front' => false ), ) ); } add_action( 'init','create_my_post_types' ); 保存 functions.php文件后,在WordPress后台控制面板你就会发现一个新的标签,如下图所示: 这段代码是怎么回事呢? 首先,我创建一个函数来注册一个新的内容类型,并命名为“coupons”,register_post_type()函数利用了下面的参数: - label: 自定义内容类型的名称
- singular_label: 自定义内容类型的单数形式。
- public: 允许内容类型公开可见。
- supports: 自定义内容类型支持的数据组 (编辑、摘要、评论、自定义字段等等…)
- rewrite:URL重写的参数以及普通内容类型显示的参数。
完整的参数列表可参考WordPress Codex 最后,我通过使用add_action()将这个函数到勾选到WordPress init()函数上。 添加数据 现在自定义内容类型已经创建完了,你可以通过点击WordPress后台菜单的“Add Coupon”添加数据。 你将会看到下图所示: 创建一个页面模板来显示自定义内容类型 在完成自定义内容创建并添加了一些内容之后,我们还需要将它显示出来。这里,我使用了一个页面模板。 <?php /* 模板名称: Promo codes Page */ ?> <?php get_header() ?> <div id="container"> <div id="content" class="coupons"> <h1 class="entry-title"><?php the_title(); ?></h1> <?php the_content(); ?> <?php global $wp_query; $page_num = $paged; if($pagenum='') $pagenum=1; $wp_query = new WP_Query("showposts=20&post_type=coupons&post_status=publish&paged=".$page_num); while ($wp_query->have_posts()) : $wp_query->the_post(); ?> <div class="post" id="post-<?php the_ID(); ?>"> <h2><?php the_title(); ?></h2> <div class="exerpt"><?php the_excerpt(); ?></div> </div><!-- .post --> <?php endwhile; ?> <div class="navigation"><p><?php posts_nav_link(); ?></p></div> </div><!-- #content --> </div><!-- #container --> <?php get_sidebar() ?> <?php get_footer() ?> 上面的代码都非常简单也容易理解,为了获取特定内容类型,你需要指定参数 post_type=coupons。  查看:原文 (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|