@VladimirMelnik

Почему не работают кастомные постоянные ссылки?

В Wordpress стоит структура постоянных ссылок вида «site.com/%postname%/». Необходимо, чтобы посты с категорией 29 работали при вводе https://site.com/dictionary/post-name/. Подскажите, пожалуйста, почему этот код не работает:

function dictionary_permalink($permalink, $post) {
    $category = get_the_category($post->ID);
  if (!empty($category) && $category[0]->cat_ID == 29) {
        $permalink = trailingslashit( home_url('/dictionary/'. $post->post_name . '/'));
  }
    return $permalink;
}
add_filter('post_link', 'dictionary_permalink', 20, 3);

function dictionary_rewrite() {
    add_rewrite_rule(
        '^dictionary/([^/]*)/?',
        'index.php?pagename=$matches[1]',
        'top'
    );
}
add_action('init', 'dictionary_rewrite');

При вводе https://site.com/dictionary/post-name/ показывает 404, при вводе https://site.com/index.php?pagename=post-name перенаправляет на https://site.com/post-name/ (корректно загружается)
  • Вопрос задан
  • 57 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы