• Всё время пользовался плагином Remove Parents для удаления из урл category и родительской рубрики, а недавно выяснилось, что он не отрабатывает страницы в рубриках. Причину выяснить не удалось. Вот он — http://wordpress.org/extend/plugins/remove-parents/
    Может кто глянет и поймёт причину.

    Но поскольку плагин уже заброшен, я решил попробовать другой — WP No Category Base http://wordpress.org/extend/plugins/wp-no-category-base/
    С ним всё норм, кроме одного — он не удаляет из урл родительскую рубрику.
    Как сделать вот такое?
    myblog.com/parent_dir/sub_dir/ —> myblog.com/sub_dir/
    myblog.com/parent_dir/sub_dir/post.htm —> myblog.com/sub_dir/post.htm

Просмотр 9 ответов — с 1 по 9 (всего 9)
  • А что, Параметры — Постоянные ссылки — Произвольно — /%postname%/
    разве не катит?

    Не катит, нужна структура так не получится.

    Могу ошибаться, но кажется мне, Сергей постил на форуме фикс для Remove Parents или аналогичного плагина, приказавшего долго жить после выхода 3.4.

    А как бы найти? Я что-то поиском копаюсь второй день, но без толку.

    Добавил. Вроде бы нашел, думаю

    Вот его код, но у меня почему-то не помогло.

    function restore_non_prefixed_category_rules() {
    	global $wp_rewrite;
    	return $wp_rewrite->generate_rewrite_rules($wp_rewrite->permalink_structure, EP_PERMALINK, false);
    }
    add_filter('post_rewrite_rules', 'restore_non_prefixed_category_rules');

    И ведь как-то странно не работает. Всё в норме, а только страницы в рубриках не листаются.

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    В третьей строке фрагмента нужно убрать false:

    function restore_non_prefixed_category_rules() {
    	global $wp_rewrite;
    	return $wp_rewrite->generate_rewrite_rules($wp_rewrite->permalink_structure, EP_PERMALINK);
    }
    add_filter('post_rewrite_rules', 'restore_non_prefixed_category_rules');

    Затем зайти в настройки постоянных ссылок и нажать «Сохранить изменения». Сейчас проверил — с этим вариантом страницы в рубриках без префикса работают.

    Скоро должен выйти WordPress 3.4.2, там проблема исправлена:
    http://core.trac.wordpress.org/ticket/21209

    Пока суть да дело, я нашел решение проблемы для WP No Category Base и, поскольку он более современный, решил на нём остановиться.
    Доработка такая: в код плагина нужно добавить вот это — http://pastebin.com/uDGXUZa7
    Желающие могут довести до ума и сделать отдельным плагином. Судя по количеству ищущих, спрос будет.

    Sergey Biryukov, решение для Remove Parents я проверил — всё работает, спасибо.

Просмотр 9 ответов — с 1 по 9 (всего 9)
  • Тема «Убрать родительскую рубрику из урл» закрыта для новых ответов.