大家期待了這么久,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()函數利用了下面的參數:
完整的參數列表可參考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。
查看:原文