Как создать страницу архивов для произвольного типа записей в WordPress

Произвольные типы записей стали одной из самых примечательных функций в WordPress 3.0. Один из наших читателей в twitter задал вопрос о том, как создать страницу архивов для произвольного тип записей. В сегодняшней статье мы пошагово покажем вам как создать страницу архивов для произвольного тип записей в WordPress.

Первым делом вам необходимо убедиться, что у вашего произвольного типа записей включена поддержка архивов в коде. Для этого необходимо перейти в код произвольного типа записей (обычно располагается в файле functions.php темы). Убедитесь, что параметр has_archive установлен в значение true.

Пример когда должен выглядеть так:

add_action( 'init', 'create_post_type' );
function create_post_type() {
	register_post_type( 'deals',
		array(
			'labels' => array(
				'name' => __( 'Сделки' ),
				'singular_name' => __( 'Сделка' )
			),
		'public' => true,
		'has_archive' => true,
		)
	);
}

Обратите внимание, что у нас значение в массиве для has_archive установлено в true. В вашем коде его также необходимо указать. После этого вашему произвольному типу записи будет назначена страница архива, получить доступ к которой можно по ссылке вроде этой:

http://yoursite.com/deals/

Примечание: замените deals на название вашего произвольного типа записи.

По-умолчанию WordPress использует шаблон архива вашей темы для отображение страница архива произвольного типа записей. Если вас устраивает ее внешний вид, то делать больше ничего не нужно. Вы успешно создали страницу архивов для своего произвольного типа записи на своем WordPress сайте.

Однако, если вы хотите создать собственную страницу архивов, то необходимо создать новый файл с названием archive-{posttype}.php. В нашем примере, имя файла должно быть archive-deals.php

Лучше будет начать с копирования кода из файла темы archive.php и вставить его в свой файл archive-{posttype}.php . Затем начинаем его настраивать. Можно задать оформление файлу архива на свое усмотрение. Очень упрощенный шаблон может выглядеть следующим образом:

<?php
get_header();
if(have_posts()) : while(have_posts()) : the_post();
	the_title();
	echo '<div class="entry-content">';
	the_content();
	echo '</div>';
endwhile; endif;
get_footer();
?>

После окончания оформления страницы, загрузите этот файл в папку своей темы. После этого вы увидите собственноручно созданную страницу архива для вашего произвольного типа записи.

Вот и все. Теперь вы создали страницу архивов для произвольного тип записей.

По всем вопросам и отзывам просьба писать в комментарии ниже.

Не забывайте, по возможности, оценивать понравившиеся записи количеством звездочек на ваше усмотрение.

VN:F [1.9.22_1171]
Rating: 3.3/5 (7 votes cast)

Об авторе ADv

Занимаюсь разработкой сайтов и магазинов на WordPress. Оказываю платные помощь и консультации. Skype: advokat_b
Scroll To Top