Intereting Posts
Поиск с несколькими (параллельными) критериями на пользовательских полях? показывая старые статьи, не испортив архив Как вызвать пользовательские сообщения WordPress перехватывает запросы к файлу в общедоступном HTML Добавляя действие к save_post, почта должна быть сохранена дважды, чтобы функция работала get_next_post_link () и get_previous_post_link () возвращают неправильные записи Фильтр WordPress, который подключается после каждого действия / фильтра Показать / скрыть раздел в настройке темы на основе выбора из другого раздела Загрузка дополнительных сообщений с помощью Ajax и кладки как настроить теги rss feed с помощью перехватчиков? Как донести пользовательские мета-поля до пользовательских типов сообщений? У меня возникли проблемы с получением списка категорий пользовательского типа сообщения Таксономия, термины и файлы шаблонов Как я могу запросить 2 пользовательских типа сообщений? Тип персонализированного сообщения: Получить последнее обновление

Используя WP Rewrite, но просто не получив его,

Я пытаюсь использовать WP Rewrite, чтобы избежать необходимости вводить что-либо в файл htaccess. До сих пор у меня этот рабочий работает отлично (он загружает сообщение из пользовательского типа сообщений):

$leader_structure = 'performance/leaders/%leader%'; $wp_rewrite->add_rewrite_tag("%leader%", '([^/]+)', "leader="); $wp_rewrite->add_permastruct('leader', $leader_structure, false); 

В принципе, если вы перейдете на сайт http://domain.com/performance/leaders/some-slug-here , он будет правильно загружать контент из http://domain.com?leader=some-slug-here .

Однако, когда я снова пытаюсь выполнить его с помощью нестандартного пост-типа (только обычные сообщения WP), я не могу заставить его работать. Вот что я делаю:

 $scenarios_structure = 'our-thinking/scenarios/%post%'; $wp_rewrite->add_rewrite_tag("%post%", '([^/]+)', "name="); $wp_rewrite->add_permastruct('scenarios', $scenarios_structure, false); 

Поэтому здесь я хочу, чтобы http://domain.com/our-thinking/scenarios/some-post-slug загружал один пост WP. Но это не так. Когда я перехожу к этому URL-адресу, он перенаправляется на http://domain.com/some-post-slug .

Вероятно, очевидно, что я делаю неправильно кому-то другому, но я просто не понимаю. Настройки моей ссылки WordPress равны «Post name». И мой файл .htaccess не тронут.

Solutions Collecting From Web of "Используя WP Rewrite, но просто не получив его,"

Ваша настройка перезаписи хорошая, но WordPress перенаправляется на канонический URL-адрес сообщения. Это делается WodPress для предотвращения плохой индексации для дублированного контента (когда идентичный контент доступен через 2 разных URL-адреса).

Вы можете предотвратить удаление фильтра канонического перенаправления:

 add_action('wp_loaded', function() { remove_filter('template_redirect', 'redirect_canonical'); }); 

Однако это не рекомендуется, на самом деле, если вы сделаете это, ваш пост будет доступен как через обычный URL-адрес, так и новый созданный URL-адрес.

Если вы хотите изменить стандартную постпланструкцию по умолчанию, рекомендуем использовать настройку постоянной ссылки в настройках постоянной ссылки WordPress, поэтому в вашем случае структура permalink shoul будет

 our-thinking/scenarios/%postname% 

и для предотвращения его воздействия на любой другой пользовательский тип сообщения или пользовательскую таксономию, когда вы регистрируете их, используйте аргумент $rewrite с ключом 'with_front' установленным в false , например:

 ... 'rewrite' => array( 'with_front' => false ) ...