Поддержка Плагины Убрать родительскую рубрику из урл

  • Всё время пользовался плагином 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%/
    разве не катит?

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

    Модератор Yuri

    (@yube)

    Могу ошибаться, но кажется мне, Сергей постил на форуме фикс для 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)
  • Тема «Убрать родительскую рубрику из урл» закрыта для новых ответов.