- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Зачем быть уникальным в мире, где все можно скопировать
Почему так важна уникальность текста и как она влияет на SEO
Ingate Organic
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Уважаемые программисты, подскажите, пожалуйста есть код:
function my_paged_links($string, $type_of_url) {
if ( $type_of_url == 'paged') {
$string = str_replace('page/', 'page', $string);
}
return $string;
}
add_filter('user_trailingslashit', 'my_paged_links', 10, 2);
function my_pagenum_link($link) {
if ( $_SERVER['REQUEST_URI'] != '/' ) {
preg_match('/\/page[0-9]+/', $_SERVER['REQUEST_URI'], $matches);
if ( !empty($matches) ) {
$link = str_replace($matches[0], '', $link);
}
}
return $link;
}
add_filter('get_pagenum_link', 'my_pagenum_link');
заменяет ссылки и url вида:
/page/2/
/page/3/
на:
/page2/
/page3/
по итогу нужно их менять на:
/page-2/
/page-3/
Понимаю, где заменить «page» на «page-» в коде (3 строка):
$string = str_replace('page/', 'page-', $string);Но тогда заменяются только сами ссылки на страницы (отдают 404 ошибку):
/page-2/
/page-3/
а сами страницы работают с урлами:
/page2/
/page3/
В .htaccess для начала загляните - обычно там обработка такого типа урлов.
Или ищите в движке где роутинг обрабатывается.
Тот кусок кода что Вы привели - он преобразует ссылки для отображения пользователю.
А вот входящие от пользователя ссылки "преобразует" другой кусок кода, который и надо найти.
Пишите новую функцию и меняйте адреса страниц.
заменяет ссылки и url вида:
Не адреса страниц.
edogs, если этот кусок кода убрать, то и сами ссылки и url страниц отображаются как:
/page/2/
/page/3/
С этим куском кода они преобразуются в:
/page2/
/page3/
Следовательно, как я понимаю, замена и ссылок и самих url происходит именно в этом коде.
В .htaccess нет каких либо упоминаний.
---------- Добавлено 08.05.2019 в 22:30 ----------
Не адреса страниц.
в том то и дело, что и адреса преобразуются, как я указал выше
Ну и зачем ломать функциональность вордпресса? 🚬
Следовательно, как я понимаю, замена и ссылок и самих url происходит именно в этом коде.
Да, в этом. Но у Вас движок понимает page/2, а не page-2. Вам надо научить его понимать page-2, для этого надо найти участок кода который разбирает входящий от юзера урл .
Хотя возможно это как раз второй участок кода, попробуйте
preg_match('/\/page[0-9]+/', $_SERVER['REQUEST_URI'], $matches);
заменить на
preg_match('/\/page-[0-9]+/', $_SERVER['REQUEST_URI'], $matches);
edogs, пробовал так, ничего не меняется
При коде, который я указал отрабатывает 301-редирект с page/2 на page2
Не могу понять откуда он берется... если в данном коде явно не забивается
Куда копать?