Как я могу устранить URL-адрес верхнего уровня в WordPress, сохраняя при этом возможность доступа к дочерним страницам, Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Гость
 Как я могу устранить URL-адрес верхнего уровня в WordPress, сохраняя при этом возможность доступа к дочерним страницам,

Сообщение Гость »


Это ограничение, присущее WordPress? Например, если у нас есть структура URL с тремя уровнями иерархии, нельзя ли удалить первый уровень? В настоящее время я должен поддерживать структуру постоянных ссылок как «/%postname%/», если это необходимо. В частности, у меня есть родительская страница под названием «название турнира» с детьми и внуками. При попытке получить доступ к URL-адресу дочерней страницы без включения фрагмента родительского URL-адреса, но с включением фрагмента родительского URL-адреса, происходит автоматическое перенаправление, включающее фрагмент URL-адреса-прародителя.

Например: мне нужно получить доступ к существующей странице http://local.test.com/tournament-name/t ... e/players/, используя URL-адрес http://local.test.com/team-name/. players/ - то есть без ключевого слова URL-адреса «название турнира».

Это изменение предназначено для поисковой оптимизации.

Я могу удалить название турнира и перенаправить его на http://local.test.com/team-name/players/. Но WordPress автоматически перенаправляет его обратно на http://local.test.com/tournament-name/t ... e/players/, что приводит к бесконечному циклу. Также мне нужно убедиться, что страница http://local.test.com/tournament-name/t ... e/players/ отображает тот же контент, что и http://local.test.com/tournament-name/team-name. /игроки/

Код, который я пробовал, приведен ниже

function custom_remove_parent_page_slug() { // Список родительских страниц, для которых вы хотите удалить слаг $parent_pages = массив( 'название турнира' ); глобальный $wp; $requested_url = home_url($wp->request); foreach ($parent_pages как $parent_page) { $parent_page_url = home_url($parent_page); // Проверяем, начинается ли запрошенный URL-адрес с URL-адреса родительской страницы if ( strpos($requested_url, $parent_page_url) === 0) { // Удаляем фрагмент родительской страницы из URL $child_page_url = str_replace($parent_page_url, home_url(), $requested_url); // Проверяем, отличается ли URL дочерней страницы от запрошенного URL если ($child_page_url!== $requested_url) { // Перенаправление с кодом состояния 301 wp_redirect($child_page_url, 301); Выход; } } } } add_action('parse_request', 'custom_remove_parent_page_slug'); Пожалуйста, помогите мне. Заранее спасибо.
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»