Для этого есть два хороших решения:
В классе WP_Rewrite есть переменная с именем $use_trailing_slashes
, которая устанавливается динамически в зависимости от того, заканчивается ли ваша пользовательская структура постоянной ссылки на '/'.
$this->use_trailing_slashes = ( '/' == substr($this->permalink_structure, -1, 1) );
Это означает, что все сгенерированные WP ссылки (the_permalink, category_link, the_permalink_rss и т. Д.) Не будут заканчиваться на '/'. Таким образом, для страниц категорий WP будет отображать «/ category / category» вместо «/category/category/'.
»
Вы можете решить эту проблему либо с помощью фильтра, либо изменив свой .htaccess, либо с помощью обоих:
Пример фильтра user_trailingslashit
Функция user_trailingslashit применяет фильтр 'user_trailingslashit' к результату до его возвращения. Он предоставляет URL-адрес и тип URL-адреса для фильтра.
$string = apply_filters('user_trailingslashit', $string, $type_of_url);
Таким образом, чтобы подключиться к этому и добавить косую черту ко всем URL-адресам, кроме отдельных сообщений, добавьте этот код в файл плагина или в файл темы functions.php.
function fix_trailingsss($s='',$t='single')
{
if($t!='single')$s=rtrim($s,'/').'/';
return preg_replace('/^(.*)([^l/])$/i', '\1\2/',$s);
}
add_filter('user_trailingslashit', 'fix_trailingsss', 9999,2);
Htaccess RedirectMatch
Вы можете настроить перенаправление .htaccess, чтобы URL-адреса категории всегда использовали конечную косую черту, например:
RedirectMatch 301 ^/category/([^/]+)$ /category/$1/
Источник информации : https://www.askapache.com/wordpress/adding-trailing-permalinks/
По всем дополнительным вопросам обращайтесь к Кодексу:
https://codex.wordpress.org/wp_rewrite
https://codex.wordpress.org/Using_Permalinks