Как показывать страницы внутри определенной категории (без кодирования нового шаблона)?

У меня есть сайт Wordpress, где я использую "посты" для новостей и "страницы" для некоторых статических информационных страниц (о, контакт, ...). Теперь мне нужно добавить несколько страниц: по одной на каждый продукт, который я продаю. Также мне нужно добавить их в разные категории (например, футболка, брюки, обувь, ...).

Проблема: во внешнем интерфейсе мне нужно перейти на страницу со списком всех продуктов в определенной категории. И я не хочу создавать страницу самостоятельно, используя code/html/php, потому что я купил тему и хочу использовать ее шаблоны (в противном случае мне нужно заново создать весь макет, стили и т. Д.).

Я пытался добавить категории к "страницам", вставить товары в категорию и перейти по http://localhost/mysite/category/t-shirts/, но он не показывает никаких страниц. Я мог бы рассмотреть возможность использования пользовательского типа сообщения, но, помните, я здесь, чтобы найти самое простое и быстрое решение моей проблемы!

1 ответ

Лучший способ пойти: http://codex.wordpress.org/Function_Reference/register_post_type

Это в основном создает клон функциональности "post" в WordPress, а также имеет категории.

Тема будет использовать тот же шаблон для обычных сообщений и категорий:

add_action('init', 'mytheme_init');
function mytheme_init(){
    register_post_type('product',
        array(
            'labels' => array(
                'name' => 'Products',
                'singular_name' => 'Product',
                'menu_name' => 'Product'
            ),
            'public' => true,
            'has_archive' => true,
            'hierarchical' => true,
            'supports' => array('title', 'editor', 'revisions', 'thumbnail'),
            'rewrite' => array(
                'slug' => 'product'
            )
        )
    );
    register_taxonomy("product-category", array('product'), array(
            "hierarchical" => true,
            "label" => "Product Categories",
            "singular_label" => "Product Category",
            "rewrite" => true
        )
    );
    register_taxonomy_for_object_type("product-category", 'product');
}
Другие вопросы по тегам