Так что это сводит меня с ума. Я потратил несколько дней, пытаясь это исправить, и я не могу понять, почему это так сложно, так как, безусловно, это очень распространенная структура постоянных ссылок!
Я просмотрел сотни ответов и постов, и ни один из них, похоже, не решил проблему.
Я просто хочу эту структуру:
mysite.com/custom-post-type/custom-taxonomy-term/post-name
Поэтому я добиваюсь следующего:
mysite.com/literature - all literature posts
mysite.com/literature/fiction - all literature posts with 'fiction' term
mysite.com/literature/fiction/mybook - the post
Каждый раз, когда я что-то пробую, я получаю 404 ошибки, или пагинация не работает.
Я не понимаю, почему это так сложно!
Любая помощь действительно ценится!
Спасибо
================================================== ==== ================== ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ ==================
В настоящее время я регистрирую тип сообщения и таксономию следующим образом:
register_post_type('literature',$args);
'rewrite' => array('slug' => 'literature/books','with_front' => false),
register_taxonomy('literature_category',array('literature'), array(
'rewrite' => array( 'slug' => 'literature','with_front' => false ),
Если я регистрирую оба в качестве «литературы», я получаю 404 на странице mysite.com/literature, но моя постоянная ссылка отображается так: mysite.com/literature/books/mybook
После следования советам по этому вопросу - пользовательские типы сообщений, таксономии и постоянные ссылки
Я добавил это к своим функциям:
function filter_post_type_link($link, $post) {
if ($post->post_type != 'literature')
return $link;
if ($cats = get_the_terms($post->ID, 'literature_category'))
$link = str_replace('%literature_category%', array_pop($cats)->slug, $link);
return $link;
}
add_filter('post_type_link', 'filter_post_type_link', 10, 2);
И изменил мой тип сообщения на 'slug' => 'literature/%literature_category%'
И изменил мою таксономию на'slug' => 'literature'
Это прекрасно работает, за исключением того, что mysite.com/literature
нумерация страниц не работает, поэтому я получаю ошибку 404 по следующему URL:
mysite.com/literature/page/2/