Intereting Posts
Создавать виртуально-виртуальные загружаемые продукты WooCommerce из внешнего интерфейса с использованием Gravity Forms? Woocommerce не работает с ajax 404 Issue w / Custom Post Type – использование Meta для Permalink rewrite Разбивка страниц разбивается на категории детей, отлично работает на родительской категории Как изменить какие права пользовательская роль может предоставить другим пользователям (без плагина)? Параметры темы на CPT Выводить поля вручную в шаблонах электронной почты Woocommerce Сессия постоянно сбрасывает переменную почему я получаю сообщение «фатальная ошибка» при загрузке фотографий в пределах указанного МБ? Результаты фильтра WP_User_Query специальные символы после сохранения проекта, интерпретируемого как Выпадающие три уровня категории с несколькими уровнями не работают Как отфильтровать сообщение в виджете Tag Cloud, используя теги изображения мультимедийной библиотеки, прикрепленные к сообщению? Как получить содержимое виджета в WordPress на основе его идентификатора? Как разместить несколько галерей изображений в одном посте?

Изменить постоянную ссылку для одной записи

Я определил тип персонализированных сообщений, projects , и я установил постоянную ссылку для этих типов сообщений в /projects/my-project/ . Однако для одного из проектов мне нужно указать ему специальный URL, поэтому вместо /projects/special-project/ он появляется в /special-project/ .

Это возможно?

Попробуйте добавить к своим functions.php :

 function wpse221475_custom_rewrite_rules() { add_rewrite_rule( '^(special-project)?', 'index.php?post_type=projects&name=$matches[1]', 'top' ); } add_action('init', 'wpse221475_custom_rewrite_rules'); 

Обязательно обновите правила перезаписи после добавления этого правила.

Посещение:

Dashboard -> Settings -> Permalinks

Или, если хотите, вы можете использовать flush_rewrite_rules() программно.

Чтобы перенаправить запросы на http://example.com/projects/special-project на http://example.com/special-project вы можете разобрать запрос на wp hook.

 function wpse221475_redirect_request($wp) { if ( ! empty($wp->request) && $wp->request === 'projects/special-project' ) { wp_redirect(home_url('special-project'), 301); exit; } } add_action('wp', 'wpse221475_redirect_request'); 

Конечно, есть другие способы / методологии, которые вы могли бы использовать для достижения такого же эффекта, но этого будет достаточно.