Тож це мене дуже божевільно. Я витрачав дні, намагаючись виправити це, і не можу розібратися, чому це так складно, оскільки, безумовно, це дуже поширена структура постійної посилання!
Я переглянув сотні відповідей і дописів, і жоден з них, здається, не вирішує проблему.
Я просто хочу цю структуру:
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/