Таксономия в Wordpress?

Здравствуйте.

Создал новый тип записи "Приложения", добавил в него таксономии: "Категория", "Устройство", "Платформа".
Подключение нового типа записи:

add_action('init', 'app_init');
    function app_init() {

            // описываем наш тип контента
            $args = array(
                    'label' => __('Приложение'),
                    'labels' => array(
                            'edit_item' => __('Редактировать приложение'),
                            'add_new_item' => __('Нобавить новое приложение'),
                            'view_item' => __('Просмотр'),
                    ),
                    'singular_label' => __('app'),
                    'public' => true,
                    'show_ui' => true,
                    '_builtin' => false,
                    '_edit_link' => 'post.php?post=%d',
                    'capability_type' => 'post',
                    'hierarchical' => false,
                    'supports' => array('title', 'editor', 'thumbnail')
            );

            // регистрируем новый тип
            register_post_type( 'app' , $args );


Таксономии добавлял следующим образом:
register_taxonomy( 'category', 'app',
                    array ('hierarchical' => true, 'label' => __('Категория'),
                            'singular_label' => __('category'),
                            'query_var' => 'category')
            );
register_taxonomy( 'device', 'app',
                    array ('hierarchical' => true, 'label' => __('Устройство'),
                            'singular_label' => __('device'),
                            'query_var' => 'device')
            );
			
register_taxonomy('platform','app',
                    array ('hierarchical' => true, 'label' => __('Платформа'),
                            'singular_label' => __('platform'),
                            'query_var' => 'platform')
            );


Как мне сделать:

  1. Вывод списка записей нового типа;
  2. Вывод данных (категория, устройство, платформа) на странице записи.


ps. С наступающим новым годом!
  • Вопрос задан
  • 5681 просмотр
Решения вопроса 1
mirusck
@mirusck
Возможно, поздно, но все же:
1. Все ваши посты с новым пост тайпом будут отображены на странице yourdomain.com/?post_type=app
Если хотите урл покрасивее, добавьте такие аргументы при регистрации посттайпа:
$args = array(
        ....
        'has_archive' => true,
        'rewrite' => array(
            'slug' => 'apps',
            'with_front' => false
        )
}

Тогда урл будет такой: yourdomain.com/apps.
// Если не сработало, то нужно перегенерить пермалинки на странице Settings --> Permalinks (Параметры --> Постоянные ссылки)

2. Продублируйте в папке темы файлы archive.php и single.php в файлы с названиями archive-app.php single-app.php соответственно. Теперь при выводе ваших кастомных постов будут использоваться именно эти файлы шаблонов.

В темплейтах для вывода категории, девайса и платформы используйте функцию the_terms() или get_the_terms()
Например:
<?php the_terms($post->ID, 'device'); ?>
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы