26 марта 2011

WordPress 3.1-обновление в пользовательских типах постов

logo wordpress 3.1О новых возможностях, которые предоставляет WordPress 3.1 я писал в статьях новые сведения о возможностях WordPress 3.1, Админбар и внутренняя перелинковка и подробнее об Админбаре
Сегодня я покажу новую возможность, которая может быть использована при создании пользовательских типов постов. Раньше при создании нового типа мы использовали запись вида:

add_action( 'init', 'on_create_books_post_type' );

function on_create_books_post_type() {

	register_post_type( 'books', array(
		'labels' => array(
			'name' => __('Books'),
			'singular_name' => __('Book')
			),
		'public' => true,
		'show_ui' => true,
		'rewrite' => array(
			'slug' => 'book',
			'with_front' => false
			)
	) );

}

В WordPress 3.1 добавлен новый аргумент:

'has_archive' => true

Теперь полная инициализация типа будет выглядеть следующим образом:

add_action( 'init', 'on_create_books_post_type' );

function on_create_books_post_type() {
 	register_post_type( 'books', array(
		'labels' => array(
			'name' => __('Books'),
			'singular_name' => __('Book')
			),
		'public' => true,
		'show_ui' => true,
		'rewrite' => array(
			'slug' => 'book',
			'with_front' => false
			),
		'has_archive' => true
	) );

}

И мы получим доступ к нашим записям типа Books ипользуя URL http://site.ru/book Значение после слеша определяется аргументом slug, но при желании мы можем изменить его, переписав код на:

'has_archive' => 'book-list'

В этом случае URL для доступа будет http://site.ru/book-list
Задав значение has_archive, вы также можете создать свой собственный файл в шаблоне для отображения архива. Например archive-{$post_type}.php. В нашем случае, файл шаблона будет иметь имя, заданное параметром name,  так что наш файл для архива будет archive-books.php. Если собственный файл не будет создан, то по умолчанию будет использован файл archive.php.
Читайте также о том, как использовать иконки для пользовательских типов постов.

Статьи по теме
Статья оказалась полезной? Подпишись на RSS рассылку или следуй за мной на твиттере @wpstarter или по этой ссылке wpstarter

Комментариев: 2

Вы можете следовать любому комментарию через RSS 2.0 feed.

Вы можете оставить комментарий или trackback с вашего сайта.

  1. Для чего это нужно?

Оставьте комментарий

Обведите фигуру по линии:

Ставим WordPress на локальном копьютере