Intereting Posts
получить значения db для внешнего js-файла Нужен простой, но полный пример добавления метаболизма к таксономии Какие крючки мне нужно подключить для захвата создания / изменения wp_user? автоматизация уведомлений по почте после плагина категории Прикрепленные сообщения и сообщения на странице Требования к размещению одного блога WordPress (обновления / резервные копии) save_post требуется как минимум один загруженный файл для публикации Опубликовать поиск, не смотря на название записи с момента обновления 4.4.2 Поддомен WordPress MU vhost Показать все 12 месяцев, независимо от того, есть ли у них сообщения Как удалить комментаторов возможность добавлять гиперссылки к комментариям? Загружать родительские страницы, если нет дочерних страниц Разрешить конечным пользователям изменять настройки виджета Как скрыть заголовок на «основных моментах» – функция Themify Фильтр, вызывающий загрузку страницы с добавлением более 30 секунд

Используя 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 ) ...