• Добрый вечер и с наступающим.

    Нужно изменить адрес одной (только одной) страницы (запись произвольного типа catalog, тип page). Адрес сейчас выглядит так:
    test.ru/?catalog=furniture
    Нужно преобразовать в
    test.ru/furniture/

    Пытаюсь по мануалу использовать add_rewrite_rule, но не получаю никакого эффекта вообще, как ни меняю параметры. (При этом, по совету, каждый раз в настройках пересохраняю параметры ЧПУ.)

    Вот что пробовала (прошла много итераций, не удивлюсь, если на какой-то что-то потеряла):

    function do_rewrite(){
     add_rewrite_rule('/furniture/', 'index.php?catalog=$1', 'top');
    	add_filter( 'query_vars', function( $vars ){
    		$vars[] = 'catalog';
    		return $vars;
    	} );
    }
    add_action('init', 'do_rewrite');

    С index.php и без index.php — нет разницы; catalog=$1, catalog=$match[1] и catalog=furniture — нет разницы. Вместо query_vars пробовала add_rewrite_tag — нет разницы. И где всё-таки у меня ошибка?

    Функция с $wp_rewrite->add_permastruct работает, но она действует на все страницы нового типа, а мне нужно только на одну.

    • Тема изменена 4 года назад пользователем greatebattle.

Тема «Изменить url одной страницы» закрыта для новых ответов.