Intereting Posts
как я могу получить разбивку на страницы так, как хочу, когда сообщения с помощью функции get_posts Перевод в поле отношений ACF Вставить метаданные для всех сообщений в CPT сразу, если метаданных не существует В частности, ссылка на часть «Оставить отзыв» на странице продукта? Показывать индекс, а не архив для «Собственная почта для собак» с по умолчанию скрипт wp_mail с jquery post Я должен указать порт, иначе сайт не работает Запросить и получить мета как объект (stdClass) в таблице wp postmeta? Запросить сообщения только в том случае, если текущая страница не выгружается? pre_get_posts для категории исключения Как отобразить post_content из базы данных на другой странице <p> на странице шаблона? синтаксис Выделение на wordpress.com blog Показать название последней записи автора Автоматически включать все php-файлы в каталог дочерних тем Простейшая форма ajax не работает, когда она должна

Пользовательские перезаписи URL для шаблонов

Мне нужно переписать некоторые URL-адреса на пользовательские шаблоны. Например, у меня есть страница на сайте domain.com/page, и когда пользователь нажимает «удалить» на элементе, он переходит на домен.com/page/?remove=54. Я бы хотел, чтобы он переписал domain.com/page/remove/54.

Помощь приветствуется, спасибо заранее!

Solutions Collecting From Web of "Пользовательские перезаписи URL для шаблонов"

Поскольку вы хотите добавить что-то в конец каждого правила перезаписи почты / страницы, вы, вероятно, можете просто добавить конечную точку перезаписи . Это регулярные выражения формы /[endpoint_name](/[optional_extra_stuff])? которые добавляются к уже сгенерированным правилам для страниц, сообщений, архивов, …

Вы определяете, какие структуры вы хотите добавить, установив маску конечной точки . Это битовая маска, поэтому вы можете комбинировать разные группы, используя | оператора, например: EP_PERMALINK | EP_PAGES EP_PERMALINK | EP_PAGES будет соответствовать каждой странице и каждой постоянной ссылке (полный пост и дата-архивы). Список конечных точек по умолчанию можно найти в верхней части wp-includes/rewrite.php .

Следующий код добавит /remove(/(.*))? к существующим правилам перезаписи для страниц, сообщений и архивов на основе даты (по какой-то причине они генерируются дважды, один раз в EP_PERMALINK и один раз в EP_DATE ). remove также будет доступен в виде открытого запроса var, поэтому вы можете сделать $wp_query->get( 'remove' ) чтобы получить значение (если установлено) [optional_extra_stuff] в URL-адресе.

 add_filter( 'init', 'wpse2614_init' ); function wpse2614_init() { add_rewrite_endpoint( 'remove', EP_PERMALINK | EP_PAGES ); } 

Это совершенно просто. В вашем PHP-скрипте, где вы выводите ?remove=54 просто выведите remove/54 . Это должно сделать работу, чтобы изменить ссылки, как вы просили.