Intereting Posts
Есть ли в WordPress Loop функция, подобная циклу Shopify? Отключить видимость плагина в каталоге плагина BP Результаты поиска не будут отображаться на странице профиля пользователя Каковы хорошие настройки Apache для использования с wordpress? get_locale () ведет себя странно в том же файле functions.php Как я могу быть уверен, что пользователь подтвердил свое электронное письмо после регистрации? Использовать строку запроса URL-адреса в атрибуте img src Имя привязки (имя идентификатора) в адресной строке Пользовательские правила перезаписи отправляют все в index.php Как отменить подключаемую функцию в теме? Добавление моей собственной кнопки «добавить в корзину» Добавление нового размера для экрана Media в функции.php не работает Фоновое изображение в сообщениях $ wpdb запрос цены в настраиваемом поле Тема в настоящее время показывает эскизы, как показать полный размер?

Удалить подкатегорию и категорию с некоторыми правилами из permalink

Моя текущая опция для permalink установлена ​​в /% category% /% postname% /:

У меня есть категория «stati» и родительская категория «итальянский», «немецкий» . Эта родительская категория имеет некоторую другую родительскую категорию, например:

  • test.com/category/stati/italian/A/B/…/postname
  • test.com/category/stati/german/A/B/…/postname

Мне нужно удалить только эту часть «category / stati /» , ссылка должна выглядеть следующим образом:

  • test.com/italian/A/B/…/postname
  • test.com/german/A/B/…/postname

Но мне нужно придерживаться следующих правил:

1) если мы перейдем к категории «stati» без подкатегории (test.com/category/stati/), мне нужно удалить только «категорию» – test.com/stati/

2) все мои опубликованные сообщения имеют следующую ссылку:

  • test.com/stati/italian/postname,

Мне нужно изменить ссылку этого сообщения, если мы останемся в текущей подкатегории, чтобы нормально открыть этот пост.

  • test.com/stati/italian/A/…/postname – -> test.com/italian/A/…/postname

Я пишу простой код

// Remove category base add_filter('category_link', 'no_category_parents',1000,2); function no_category_parents($catlink, $category_id) { $category = &get_category( $category_id ); if ( is_wp_error( $category ) ) return $category; $category_nicename = $category->slug; $category_parent = get_category($category->parent)->slug; // If we have parent category and != 'stati' then add it to link and remove 'category' // test.com/category/stati/italian/A to -> test.com/italian/A // else this category is main category 'stati' left it and remove 'category' // test.com/category/stati to -> test.com/stati if ( $category_parent && 'stati' != $category_parent){ $catlink = trailingslashit(get_option( 'home' )). trailingslashit( $category_parent ) . user_trailingslashit( $category_nicename, 'category' ); }else{ $catlink = trailingslashit(get_option( 'home' )) . user_trailingslashit( $category_nicename, 'category' ); } return $catlink; } 

Часть моего кода работает, но когда я прихожу в подкатегорию «A» (test.com/italian/A), я получаю 404 страницы. Возможно, мне нужно написать некоторые правила перезаписи для родительской категории, но как это сделать?

Спасибо!

Solutions Collecting From Web of "Удалить подкатегорию и категорию с некоторыми правилами из permalink"