maxxannik
@maxxannik
Сайты на WordPress + Интернет магазины WooCommerce

Rewrite rule в WordPress. Как правильно?

Есть тип поста cases
Если ничего не делать, то ссылки выглядят как cases/[name] где name это слаг поста WordPress.
Цель - сделать ссылки типа /cases/[id] где id это id поста

До версии 4.4 работала такая схема:
1 https://github.com/systemo-biz/casepress/blob/mast...
2 https://github.com/systemo-biz/casepress/blob/mast...

Но с WP 4.4. эта схема начала сбоить. При попытке комментировать, бросает на не существующую страницу.
Если закомментить эту логику, то возвращается типовой путь /cases/[name] и комменты начинают работать как положено.

Подозреваю что я чего то не то сделал. Мб кто подскажет как лучше всего правила урлов сделать для схемы /[post_type]/[post_id]?
  • Вопрос задан
  • 202 просмотра
Пригласить эксперта
Ответы на вопрос 1
MetaDone
@MetaDone
Хорошо сформулированный вопрос - 50% решения
add_filter('post_type_link', 'custom_post_link', 10, 2);
function custom_post_link($permalink, $post) {      
        if (('cases' == $post->post_type) && '' != $permalink && !in_array($post->post_status, array('draft', 'pending', 'auto-draft'))) {
            $permalink = "/cases/" . $post->ID . "/";
        }
        return $permalink;
}

Должно сработать
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы