Я сейчас пытаюсь написать правило перезаписи URL-адреса в WordPress. Исходный URL-адрес выглядит так:
http://localhost/download/d0RqYU8xek9JOXBsQmJrRGpldWF2QT09/?selected_files%5B0%5D=TURUWEdaWWNtS1ZOd2NSY0MybThCQT09&selected_files%5B1%5D=cWhFVEtlOENNM0VwNmlrUlBmOVF1UT09
Первое значение после /download/
- это уникальный идентификатор для указанного c файлового хранилища. После этого я добавил массив файлов.
В WordPress я хочу написать URL перезаписи для этого запроса, чтобы я мог обрабатывать его в моем бэкэнде. Для этого мне нужно специальное c регулярное выражение, которое идентифицирует запрос и возвращает совпадения для построения моего URL-адреса перезаписи:
public function filter_rewrite_rules_array( $rules ): array {
$new_rules['download/([0-9][a-z][A-Z]+)/.......'] = admin_url( 'admin-ajax.php' ) . '?download=$matches[1]&selected_files=$matches[2]';
return array_merge( $rules, $new_rules );
}
Дело в том, что я не могу выполнить регулярное выражение .... может кто-нибудь Пожалуйста, помогите мне с этим? Даже первое совпадение не работает.
Обновление:
Я ожидаю, что в результате появится этот URL:
http://localhost/admin-ajax.php?download=d0RqYU8xek9JOXBsQmJrRGpldWF2QT09&selected_files%5B0%5D=TURUWEdaWWNtS1ZOd2NSY0MybThCQT09&selected_files%5B1%5D=cWhFVEtlOENNM0VwNmlrUlBmOVF1UT09
Как я только что теперь увидел - запрос может иметь несколько идентификаторов файлов. Так что не знаю, как это сделать с помощью регулярного выражения. Возможно ли это вообще?