Menu

Custom Post Type trong WordPress

Một điểm rất hay ở WordPress 3.0 là khả năng tạo được các post type riêng (việc mà trước đây phải làm vất vả hơn)

. Bạn chỉ cần thêm đoạn mã sau vào functions.php:

function post_type_huongdan() {
	register_post_type( 'huongdan',
                array( 'label' => __('Hướng dẫn'), 'public' => true, 'show_ui' => true ) );
	register_taxonomy_for_object_type('post_tag', 'huongdan');
}
add_action('init', 'post_type_huongdan');

Post type Hướng dẫn

Sử dụng thêm tham số

Bạn có thể khai báo thêm các thông số như excerpts, custom fields, comment… cho post type của mình như sau:

function post_type_huongdan() {
	register_post_type(
		 'huongdan', 
		 array('label' => __('Hướng dẫn'), 
			 'public' => true, 
			 'show_ui' => true,
			 'supports' => array(
			 		'title',
					'excerpt',
					'author',
					'trackbacks',
					'custom-fields',
					'comments',
					'revisions')
				) 
			);
	register_taxonomy_for_object_type('post_tag', 'huongdan');
}
add_action('init', 'post_type_huongdan');

Sử dụng thêm tham số

Bạn có thể xem thêm danh sách các thông số support tại add_post_type_support() document.

Thêm Custom Taxonomies

Tiếp theo ta sẽ thêm taxonomy cho type “Hướng dẫn”: category và tag riêng. Category là taxonomy có thứ tự (hierarchies) và Tag không có thứ tự. Bạn sửa hàm post_type_huongdan() như sau:

function post_type_huongdan() {
	register_post_type(
		 'huongdan', 
		 array('label' => __('Hướng dẫn'), 
			 'public' => true, 
			 'show_ui' => true,
			 'supports' => array(
			 		'title',
					'excerpt',
					'author',
					'trackbacks',
					'custom-fields',
					'comments',
					'revisions')
				) 
			);
	register_taxonomy( 'category', 'huongdan', array( 'hierarchical' => true, 'label' => __('Category') ) ); 
 
  register_taxonomy( 'tag', 'huongdan',
		array(
       'hierarchical' => false,
			 'label' => __('Tags'),
			 'query_var' => 'tag',
			 'rewrite' => array('slug' => 'tag' )
		)
	);
}

post type with tags

Bạn có thể xem chi tiết hơn về wordpress post type tại đây

Facebook Comments

No comments

Trả lời