wordpress — Использование шаблона taxonomy-tax_slug.php для создания архива для всех терминов таксономии

Я создал яхту Custom Post Type с таксономией yacht_types (которая включает в себя катамаран, моторную яхту и парусный спорт).

Я хочу, чтобы у каждого типа был свой собственный архив с использованием taxonomy-yacht_type.php, а не taxonomy-yacht_type-catamaran, motor-yacht и т. Д.

Я исследовал и пробовал что-то уже 2 дня, и я не могу двигаться дальше, поэтому я полагаю, что сейчас это нехватка знаний. Код ниже тот, который я бы использовал в случае «taxonomy-yacht_type-catamaran.php».

<?php
$args['tax_query'] = array(
array(
'taxonomy' => 'yacht_type',
'field' => 'term_id',
'terms' => 10,
)
);
$my_query = null;
$my_query = new WP_Query($args);
if( $my_query->have_posts() ) {
while ($my_query->have_posts()) : $my_query->the_post();
$feat_image = wp_get_attachment_url( get_post_thumbnail_id($post->ID) ); ?>

** html for each post repeat goes here **

<?php endwhile;
}

wp_reset_query();
?>

Есть ли способ как-то автоматически получить налоговый идентификатор, не вводя его вручную (как видно в строке 6 моего кода)? Потому что это означает, что мне нужно будет создать и управлять 3-мя разными файлами, которые технически будут выполнять ту же работу, что и я.

0

Решение

Я бы использовал строку запроса для чего-то подобного, это работает хорошо, если вы не суетитесь по поводу URL. Некоторые люди не любят? = В их URL http://www.example.com/yacht-tax-page?type=catamaran

Затем вы можете прочитать значение в массиве $ _GET

Извините, просто перечитайте вопрос, на самом деле это нечто совершенно иное, чем я думал

Вы можете просто использовать taxonomy.php или taxonomy-yacht_type.php со стандартным циклом. Попробуйте приведенный ниже код в файле шаблона таксономии.

<?php if ( have_posts() ) : while ( have_posts() ) : the_post();
$feat_image = wp_get_attachment_url( get_post_thumbnail_id($post->ID) ); ?>

** html for each post repeat goes here **

<?php endwhile; else: ?>
<p><?php _e('Sorry, no posts matched your criteria.'); ?></p>
<?php endif; ?>
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector