Пользовательские посты были одним из удивительных особенностей, включенных в WordPress 3.0 . Один из пользователей задавал нам вопрос, как создать новый тип пользовательского поста на странице архива. Мы рассмотрели его в нашей первоначальной статье о типах пользовательских постов, но там не было подробно все объяснено. В этой статье мы покажем вам шаг за шагом руководство о том, как создать тип пользовательского поста и разместить его на странице архива в WordPress.
Для начала, вам необходимо включить ваш пользовательский пост в архив. Вам нужно добавить код пользовательского поста (можно найти в файле темы functions.php или в специфический файл плагина). Вы должны убедиться , что у вас добавлен и включен аргумент has_archive.
Пример кода будет выглядеть так:
add_action( 'init', 'andreyex_create_post_type' ); function andreyex_create_post_type() { register_post_type( 'andreyex', array( 'labels' => array( 'name' => __( 'andreyex' ), 'singular_name' => __( 'Angel' ) ), 'has_archive' => true, 'public' => true, ) ); }
Обратите внимание на то, как мы имеем набор has_archive, установленный в true. Вы должны обязательно указать данный набор в коде. После того, как вы сделаете это, вашему пользовательскому типу поста будет присвоен страница архива, к которому можно обратиться, перейдя на ссылку:
http://yoursite.ru/andreyex/
Примечание: заменить andreyex на имя вашего пользовательского типа поста.
CMS WordPress по умолчанию, использует шаблон архива темы для отображения страницы архива пользовательской записи. Если вас устраивает, как выглядит архив по умолчанию, то вы все сделали. Вы успешно создали пользовательскую страницу архива типа запись на вашем сайте WordPress.
Тем не менее, если вы намерены создать страницу пользовательского архива для вашего пользовательского поста, то вам нужно будет создать новый файл с именем archive-{posttype}.php. В указанном нами примере, имя файла будет называться archive-andreyex.php.
Лучшим способом будет, если для начала скопируете код из файла archive.php вашей темы и вставите его в ваш файл архива archive-andreyex.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(); ?>
Теперь, загрузите ваш файл в директорию вашей темы. После того, как вы сделали, вы увидите индивидуальную страницу архива для вашего пользовательского поста.