Задать вопрос
@flk-dev

Add_permastruct + $_SERVER['Request_uri'] работает не корректно?

Добрый день. Есть тип записи, к нему идут две таксономии - geo и model. По требованиям нужно было переписать url в таком виде /%model%/%post_name%/%geo%/. В register_post_type через те же add_permastruct все переписал, все хорошо работает, до шага geo.

Model/namepost - это созданная запись по этой структуре, к примеру mers/sl300/msk - то работает все.
global $wp_rewrite;

$current_url = 'model/namepost/%geo%';
$wp_rewrite->add_rewrite_tag("%geo%", '([^/]+)', "geo=");
$wp_rewrite->add_permastruct('geo', $current_url);
add_filter('post_type_link', 'photo_permalink', 10, 3);
function photo_permalink($permalink) {
    return  $permalink;
}


Если же я пропишу не руками URL, а получаю текущий через $_SERVER['REQUEST_URI'], то получается тот же url mers/sl300/msk - но он выдает 404 ошибку сразу же. Постоянные ссылки всегда сбрасываю

global $wp_rewrite;

$current_url = ''.$_SERVER['REQUEST_URI']. '/%geo%';
$wp_rewrite->add_rewrite_tag("%geo%", '([^/]+)', "geo=");
$wp_rewrite->add_permastruct('geo', $current_url);
add_filter('post_type_link', 'photo_permalink', 10, 3);
function photo_permalink($permalink) {
    return  $permalink;
}
  • Вопрос задан
  • 80 просмотров
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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