Как показывать страницы внутри определенной категории (без кодирования нового шаблона)?
У меня есть сайт 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');
}