WordPress - переписать правила нескольких пунктов - PullRequest
0 голосов
/ 07 января 2020

У меня есть такой URL-адрес:

http://domain.de/projekte/agbz/userprofile/?page=member&memberID=Z4911331&land=deutschland&fa=zahnarzt&vorname=Henryk&nachname=Donnerstag

Я хочу переписать этот URL-адрес в такой структуре:

https://www.domain.de/deutschland/zahnarzt/dr_michael_claar_kassel_Z4901196/

Правило переписывания в моих функциях. php похоже на это, но не работает:

add_rewrite_rule( '/agbz\/(\w*)\/\?page=(\w*)&memberID=([a-z]{1}\d*)&land=(\w*)&fa=(\w*)&vorname=(\w*)&nachname=(\w*)/', 'index.php?page_id=$matches[1]&page=member&memberID=$matches[3]&land=$matches[4]&fa=$matches[5]&vorname=$matches[6]&nachname=$matches[7]', 'top');

Кто-нибудь может мне помочь в этом вопросе?

1 Ответ

2 голосов
/ 07 января 2020

Например,

www.example.com/somePage/products/?mfg=UETD342

to

www.example.com/somePage/products/UETD342/

Вы можете добавить пользовательский тег URL, используя следующий код:

function custom_rewrite_tag() {
    add_rewrite_tag('%mfg%', '([^&]+)');
}
add_action('init', 'custom_rewrite_tag', 10, 0);

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

function custom_rewrite_rule() {
     add_rewrite_rule('^products/([^/]*)/?','index.php?page_id=your_page_id&mfg=$matches[1]','top');
}
add_action('init', 'custom_rewrite_rule', 10, 0);

вам нужно добавить оба кода в функции вашей темы. php

Для более детального ознакомления с посещением по переписыванию URL: https://codex.wordpress.org/Rewrite_API/add_rewrite_rule

...