Поддержка Проблемы и решения Таксономии и категории в URL сайта

  • Добрый день. У меня есть задача — включить в URL архитектуру сайта категории в кастомной таксономии.

    Допустим, у меня есть свой тип записи — movies. Есть страница в этом типе записи — Star Wars. Она доступна по адресу mysite.com/movies/starwars

    Далее, предположим, есть кастомная таксономия genre, в которой есть категория space opera.
    Архив данной категории находится по адресу: mysite.com/genre/spaceopera.
    Мне нужно, чтобы URL на страницу фильма Звёздные Войны был такого типа: mysite.com/movies/spaceopera/starwars , где mysite.com/movies/spaceopera — это архив моей категории.

    Решить эту задачу у меня получилось следующим образом: перезаписываю slug для архива категории с genre/spaceopera на /movies, тогда по данному адресу, как и по адресу movies/spaceopera недоступен сам архив, и это понятно, ведь mysite.com/movies является архивом типа записи, а страницы movies/spaceopera не существует.
    Далее, я создаю страницу «spaceopera» (она доступна по адресу «mysite.com/movies/spaceopera»), делаю её родительской для «star wars» , и в шаблоне вывода постов типа movies размещаю следующий код:

    <?php	
    $linkpaged = get_permalink();		
    $args = array('post_type' => 'movies', 'posts_per_page' => 5, 'genre' => $linkpaged  );
    	$myposts = get_posts( $args );
    	foreach( $myposts as $post ){ setup_postdata($post);
    		?>
            <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
    		<?php
    	}
    	wp_reset_postdata();
     ?>

    Таким образом, если slug моей страницы совпадает с категорией в таксономии «genre», шаблон выводит все записи в данной категории. Если это любая другая страница, ничего не происходит. Всё работает.

    Вопрос: является ли оптимальным данное решение? Мне показалось, что таким образом немного ломается стандартная структура wordpress, несмотря на то, что всё работает, поскольку архив таксономии таким образом пропадает, на его место встает простая страница, и сам классический архив недоступен ни по какому адресу. Плюс нужно создавать дополнительно отдельную страницу для каждой категории (в моём случае их будет очень много).
    Может, лучше использовать редиректы или есть другое, более… правильное решение?
    Заранее спасибо.

    • Тема изменена 3 года, 8 месяцев назад пользователем turbomen24.
    • Тема изменена 3 года, 8 месяцев назад пользователем turbomen24.
  • Тема «Таксономии и категории в URL сайта» закрыта для новых ответов.