Intereting Posts
Любой способ проверить целостность сайта WordPress? Как отобразить категорию и пользовательскую таксономию в порядке «родителя ребенка внука»? Перенос сайта WP на другой URL-адрес Просмотр и запрос сообщений с избранным изображением Перенаправление wp-login.php приводит к неработоспособности процесса выхода из системы Получение 404 в отладчике для example.com/wp-admin/Array? Как обеспечить массив meta_key для wp_query? Как добавить изображение в сообщение предварительного просмотра в бесплатную тему "рецепты пищи" Категории против организации сайта сайта W3 Total Cache не показывает GTMetrix Понимание строки запроса после перезаписи .htaccess Форма комментария не отображается без комментариев Есть ли бесплатное (или дешевое) программное обеспечение, которое можно использовать для тестирования функциональности WordPress? Показать следующий и предыдущий номер страницы Отключить перенаправление на страницу продукта на странице результатов поиска в WooCommerce

Как создать настраиваемые маршруты URL?

У меня очень своеобразное требование, надеюсь, я могу объяснить это, не будучи слишком запутанным. Я создал шаблон страницы, где я перечисляю некоторые свойства, которые я получаю из внешнего XML-файла, до сих пор нет проблем, скажем, URL-адрес выглядит следующим образом: http://www.mysite.com/properties/

Каждое свойство имеет ссылку, которая должна перенаправлять пользователя на страницу «Единственное свойство», которая отображает больше информации об этом, что мне было интересно, если есть способ сделать ссылку, подобную этой http://www.mysite.com/properties / 123 ? Где «123» будет идентификатором свойства, в основном, если у меня есть url like properties / some_id, я хочу иметь возможность загружать файл вида (например, файлы single.php или page.php), но специфичные для этого условия URL-адреса ,

Это возможно? Заранее спасибо!

Solutions Collecting From Web of "Как создать настраиваемые маршруты URL?"

Добавьте это в функцию functions.php вашей темы или поместите в плагин .

add_action( 'init', 'wpse26388_rewrites_init' ); function wpse26388_rewrites_init(){ add_rewrite_rule( 'properties/([0-9]+)/?$', 'index.php?pagename=properties&property_id=$matches[1]', 'top' ); } add_filter( 'query_vars', 'wpse26388_query_vars' ); function wpse26388_query_vars( $query_vars ){ $query_vars[] = 'property_id'; return $query_vars; } 

Это добавляет правило перезаписи, которое направляет запросы /properties/ с любой комбинацией чисел, следующих за properties pagename, с заданием var property_id . Просто не забудьте посетить страницу настроек постоянных ссылок и сохранить, чтобы сбросить правила перезаписи, поэтому это новое правило будет включено.

В вашем шаблоне page-properties.php get_query_var('property_id') вернет идентификатор свойства, если он был установлен, если он не показывает страницу свойств по умолчанию.

Другой способ сделать это:

 add_action('init', function() { add_rewrite_rule( '^properties/([0-9]+)/?', 'index.php?pagename=properties&property_id=$matches[1]', 'top' ); }, 10, 0); add_action('init', function() { add_rewrite_tag( '%property_id%', '([^&]+)' ); }, 10, 0); 

Codex Rewrite API / добавить правило перезаписи

Codex Rewrite API / добавить тег rewrite