Intereting Posts
Получение данных пользовательского поля из иерархии страниц Query_posts и вложения В чем разница между крючками, фильтрами и действиями? Показать сообщения в блоге с другого сайта до WordPress без RSS-канала Могу ли я настроить WordPress для использования постфикса без плагина? Разрешить роль удалять сообщения, но заблокировать его wp-admin Отключение сочетаний клавиш TinyMCE в целом Это плохая реализация wp_enqueue_script для условного использования? Где найти код, который перенаправляет запросы на статический URL страницы на домашнюю страницу WordPress Enqueue только для главной страницы, functions.php, wp-framework Добавить текст, чтобы опубликовать список / редактировать экраны? Лучшее место для wp_register_script () и wp_register_style () URL-адрес URL-адреса пользовательского почтового адреса берет URL-адрес страницы get_post_meta остается пустым, зацикливая все пункты меню и используя идентификатор Как отправлять небольшие данные между страницами администратора моего плагина?

Перепишите уродливый URL-адрес для очистки URL-адреса

Я пытаюсь перейти от:

http://www.example.com/product?level1=value1&level2=value2&level3=value3&level4=value4 

Для того, чтобы:

 http://www.example.com/product/value1/value2/value3/value4 

Иногда не все значения установлены, поэтому ему также необходимо работать только с двумя установленными значениями:

 http://www.example.com/product/value1/value2 

На странице http://www.example.com/product/ используется собственный файл шаблона.

Вот как выглядит мой код:

 function my_rewrite_rules( $wp_rewrite ) { $wp_rewrite->rules = array_merge( array( '^product/([^/]+)/([^/]+)/([^/]+)/([^/]+)/?$' => 'index.php?level1=$matches[1]&level2=$matches[2]&level3=$matches[3]&level4=$matches[4]' ), $wp_rewrite->rules); } add_filter( 'generate_rewrite_rules', 'my_rewrite_rules' ); function my_rewrite_queryvars( $qvars ) { $qvars[] = 'level1'; $qvars[] = 'level2'; $qvars[] = 'level3'; $qvars[] = 'level4'; return $qvars; } add_filter( 'query_vars', 'my_rewrite_queryvars' ); 

Он работает, когда я пытаюсь получить query_vars, но он также дает мне 404 страницу, а не правильный шаблон.

Что я делаю не так?

Solutions Collecting From Web of "Перепишите уродливый URL-адрес для очистки URL-адреса"

Хорошо, я нашел решение.

Прежде всего, мне нужно выбрать идентификатор. Попробовал с p = id, но он всегда возвращал страницу без параметров. Мне нужно было только добавить page_id = id.

Мне также нужно будет добавить переписывание для каждого нового уровня.