wordpress自定义文章类型功能

创建自定义文章类型

[pcsh lang="php" tab_size="4" message="" hl_lines="" provider="manual"]

add_action( 'init', 'create_events' );
function create_events() {
  $labels = array(
    'name' => _x('Events', 'post type general name'),
    'singular_name' => _x('Event', 'post type singular name'),
    'add_new' => _x('Add New', 'Event'),
    'add_new_item' => __('Add New Event'),
    'edit_item' => __('Edit Event'),
    'new_item' => __('New Event'),
    'view_item' => __('View Event'),
    'search_items' => __('Search Events'),
    'not_found' =>  __('No Events found'),
    'not_found_in_trash' => __('No Events found in Trash'),
    'parent_item_colon' => ''
  );
 
  $supports = array('title', 'editor', 'custom-fields', 'revisions', 'excerpt');
 
  register_post_type( 'event',
    array(
      'labels' => $labels,
      'public' => true,
      'supports' => $supports
    )
  );
}

[/pcsh]

自定义文章类型的模版

一般文章(post)对应的模板文件是single.php。wordpress3.0允许你用自定义的模板文件(如single-event.php)来定制我们新的文章类型的外观。

为了简便起见,我们将single.php复制并命名为single-event.php,为了演示看是否生效,我们对代码做一些改动。

原代码:

[pcsh lang="php" tab_size="4" message="" hl_lines="" provider="manual"]

<h1 class="entry-title"><?php the_title(); ?></h1>

[/pcsh]

新代码:

[pcsh lang="php" tab_size="4" message="" hl_lines="" provider="manual"]

<h1 class="entry-title">Event: <?php the_title(); ?></h1>

[/pcsh]

回到刚才的事件页面,我们发现标题已经发生了改变。有需要的话我们可以进一步修改single-event.php文件。

自定义文章类型列表

先用下面的代码来获取所有的事件文章。

[pcsh lang="php" tab_size="4" message="" hl_lines="" provider="manual"]

<?php query_posts(array('post_type'=>'event')); ?>

[/pcsh]

然后用wordpress loop的方法来显示出所有的事件文章

[pcsh lang="php" tab_size="4" message="" hl_lines="" provider="manual"]

<?php if ( have_posts() ) while ( have_posts() ) : the_post(); ?>

[/pcsh]

 

 

此处评论已关闭