Я разрабатываю специальную тему, которая должна показывать все категории на одной странице в /category
.
Когда я перехожу в /category/some-category
, я могу видеть все сообщения, относящиеся к этой категории, но когда я перехожу в /category
, я получаю ошибку 404.
У меня есть файл category.php со следующим циклом:
<?php define( 'WP_USE_THEMES', false ); get_header(); ?> <div class="archive-meta"><?php echo category_description(); ?></div> <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?> <div class="row"> <div class="article"> <div class="small-12"> <h4><a href="<?php the_permalink() ?>"> <?php the_title(); ?></a></h4> </div> <div class="small-12 columns"> <?php the_post_thumbnail() ?> </div> <div class="small-12 columns"> <?php the_excerpt(); ?> </div> </div> </div> <?php endwhile; else : ?> <?php wp_list_categories(); ?> <?php endif; ?> <div class="small-12 columns"> <?php custom_pagination() ?> </div> <?php get_footer(); ?>
Как я могу показать все категории, когда пользователь переходит к /category/
?
Я считаю, что нет такой страницы архива «Все категории» изначально (потому что это будет точно так же, как страница блога, поскольку каждая должность имеет категорию). Я рекомендую вам создать шаблон страницы, копируя этот код и модифицируя запрос, чтобы включить все сообщения, а затем создать страницу со списком «категория».
<?php /* * Template Name: Category */ ?> <?php define( 'WP_USE_THEMES', false ); get_header(); ?> <div class="archive-meta">All categories of our blog!</div> <?php query_posts('post_type=post'); ?> <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?> <div class="row"> <div class="article"> <div class="small-12"> <h4><a href="<?php the_permalink() ?>"> <?php the_title(); ?></a></h4> </div> <div class="small-12 columns"> <?php the_post_thumbnail() ?> </div> <div class="small-12 columns"> <?php the_excerpt(); ?> </div> </div> </div> <?php endwhile; else : ?> <?php wp_list_categories(); ?> <?php endif; ?> <div class="small-12 columns"> <?php custom_pagination() ?> </div> <?php get_footer(); ?>