moyMadina30 08.12.2023 14:25

Как настроить ЧПУ (человекопонятные ссылки) в WordPress?

Здравствуйте! У меня возникла проблема с настройкой ЧПУ (человекопонятные ссылки) в WordPress. Я хочу, чтобы мои ссылки на страницы сайта были понятными и легко запоминаемыми для посетителей. Но, к сожалению, у меня не получается настроить это самостоятельно.

Вот участок кода, где возникает проблема:


// Функция для настройки ЧПУ
function custom_rewrite_rule() {
    add_rewrite_rule('^новости/([^/]*)/([^/]*)/?','index.php?category_name=$matches[1]&name=$matches[2]','top');
}
add_action('init', 'custom_rewrite_rule', 10, 0);

На текущий момент, ссылки для страниц с новостями выглядят примерно так:

https://example.com/index.php?category_name=новости&name=заголовок-новости

А я бы хотел, чтобы ссылка выглядела так:

https://example.com/новости/заголовок-новости

Буду очень благодарна, если кто-то поможет мне разобраться с этой проблемой и настроить ЧПУ в моем WordPress.

Ответы:

MDenis35 08.12.2023 14:35

Для настройки ЧПУ в WordPress тебе понадобится внести некоторые изменения в код вашей функции custom_rewrite_rule. Вот как можно это сделать:


function custom_rewrite_rule() {
    add_rewrite_rule('^новости/([^/]*)/([^/]*)/?','index.php?category_name=$matches[1]&name=$matches[2]','top');
}
add_action('init', 'custom_rewrite_rule', 10, 0);

function custom_rewrite_tag() {
    add_rewrite_tag('%category_name%', '([^&]+)');
    add_rewrite_tag('%name%', '([^&]+)');
}
add_action('init', 'custom_rewrite_tag', 10, 0);

function custom_rewrite_flush() {
    flush_rewrite_rules();
}
add_action('after_switch_theme', 'custom_rewrite_flush');

Этот код добавляет два тега %category_name% и %name%, которые будут использоваться для замены значения в URL. Также, в функции custom_rewrite_flush, вызывается функция flush_rewrite_rules(), которая перезапишет правила ЧПУ при активации темы.

После добавления этих изменений, ссылки на страницы новостей должны отображаться в желаемом формате:

https://example.com/новости/заголовок-новости

Не забудь сохранить изменения в файле functions.php или в своем плагине, если используешь его.

Я надеюсь, что это решение поможет тебе настроить ЧПУ в WordPress. Если у тебя возникнут еще вопросы, не стесняйся задавать.

Удачи в разработке!


Добавить ответ