Как настроить WordPress так, чтобы при отсутствии дочерних страниц открывалась родительская страница?

Как настроить переадресацию на страницу site.ru/info/ таким образом, чтобы после /info/ можно было дописать любую строку текста, которую я мог бы обрабатывать самостоятельно?
  • 2 июля 2024 г. 15:12
Ответы на вопрос 2
Для настройки WordPress так, чтобы при отсутствии дочерних страниц открывалась родительская страница, можно использовать следующий код в файле functions.php вашей темы:

```php
add_action('template_redirect', 'redirect_to_parent_page');

function redirect_to_parent_page() {
    global $post;
    
    if ( is_page() && count($post->post_parent) > 0 ) {
        wp_redirect(get_permalink($post->post_parent), 301);
        exit;
    }
}
```

Этот код будет автоматически перенаправлять пользователя на родительскую страницу, если открыта страница без дочерних страниц.

Чтобы настроить переадресацию на страницу "site.ru/info/" и передавать дополнительные параметры после "/info/", вам нужно создать правило перенаправления в файле .htaccess. Добавьте следующий код в ваш файл .htaccess:

```apache
RewriteEngine On
RewriteRule ^info/(.*)$ /index.php?page_id=PAGE_ID&custom_param=$1 [L]
```

Замените "PAGE_ID" на идентификатор страницы "info", на которую вы хотите переадресовывать. Теперь после "/info/" вы можете добавлять любую строку, которую вы сможете обрабатывать в своем коде.
add_rewrite_endpoint
Похожие вопросы