Категории — Сообщения Родительской Категории/Дочерней Категории.

  • Автор темы Aspartam
  • Обновлено
  • 21, Oct 2024
  • #1

Не уверен, что это лучший подход — так рад переменам, — но я настроил несколько категорий с дочерними категориями. Затем на целевой странице я перечисляю родительские категории — я использую ACF для выбора нужных таксономий —

 
         <?php 

$term = get_queried_object();

$children = get_terms( $term->taxonomy, array(

'parent'    => $term->term_id,

'hide_empty' => false

) );

if ( $children ) { 

foreach( $children as $subcat )

{

echo '<li><a href="' . esc_url(get_term_link($subcat, $subcat->taxonomy)) . '">' . $subcat->name . '</a></li>';

}

}

?>
 

Каждая ссылка выше приводит меня на сайт категории.php, где я перечисляю дочерние категории:

<ul> <?php foreach( $terms as $term ): ?> <h2><?php echo $term->name; ?></h2> <p><?php echo $term->description; ?></p> <a href="<?php echo get_term_link( $term ); ?>">View all '<?php echo $term->name; ?>' posts</a> <?php endforeach; ?> </ul> <?php endif; ?>

Проблема в том, что ссылка, прикрепленная к дочерним категориям, остается на странице категории.php, а не в сообщении дочерней категории.

Как мне направить ссылку дочерней категории на само сообщение?

Вот как, по моему мнению, это должно течь:

  1. Целевая страница (со списком родительских категорий)
  2. Category.php (содержащий дочерние категории)
  3. Дочерний пост

#посты #категории #термины

Aspartam


Рег
27 Jan, 2014

Тем
61

Постов
193

Баллов
528
  • 25, Oct 2024
  • #2

ОК, решено!

У меня есть сообщение под названием «Кардио» с названием дочерней категории «Кардио».

Я создал категорию-cardio.php (кардио — дочерняя категория), но на странице не отображается сообщение «кардио» с тем же названием, что и у категории.

 
 // After your current code for displaying child categories
// Main loop
if( have_posts() ){

while ( have_posts() ){

the_post();

//    Display post title, contents etc here

}

}
 
||answer||

Это нормальное поведение. category.php is the template meant to display posts of a category (родительские и дочерние категории), но вы используете его только для отображения дочерних категорий. Сообщения не отображаются, поскольку нет кода для отображения сообщений.

Вы можете получить список сообщений, добавив цикл WP к ctaegory.php file.

<?php /** * Cardio category template * * @package clf */ get_header(member); ?> <div id="primary" class="content-area"> <main id="main" class="site-main"> <h1>category-cardio.php</h1> <?php $args = array( 'categroy_name' => 'cardio', ) ?> <?php $the_query = new WP_Query( $args ); ?> <?php if ($the_query->have_posts()) : ?> <?php while ($the_query->have_posts()) : $the_query->the_post(); echo the_content(); endwhile; endif; ?> </main><!-- #main --> </div><!-- #primary --> <?php get_sidebar(); get_footer();

Надеюсь, это поможет.

 

PintyEnvill


Рег
25 Feb, 2010

Тем
70

Постов
180

Баллов
550
Тем
403,760
Комментарии
400,028
Опыт
2,418,908

Интересно