Chcete si koupit Webtrh?
Zobrazují se odpovědi 1 až 2 z 2

WordPress rewrite rules

  1. Tak dělám na projektu a mám hotový rewrite rules, ALE problém je s tím, že potřebuji sub virtual page. Uvedu příklad.

    - domena.cz/cs/autor/jmeno-autora/ (jmeno-autora je ten rewrite rule, to funguje)
    - domena.cz/cs/autor/jmeno-autora/clanky/ (tohle mi tak funguje, ale když to mám zapnutý, nefunguje mi první bod ... tj. bez /clanky/ to hází 404)

    Kód 1:
    Kód:
    $wp_rewrite->add_rule('([^/]+)/autor/([^/]+)','index.php?pagename=autor&autorname=$matches[2]','top');
    Kód 2:
    Kód:
    $wp_rewrite->add_rule('([^/]+)/autor/([^/]+)/([^/]+)','index.php?pagename=autor&autorname=$matches[2]&vypis=$matches[3]','top');
    Otázka je, jak to má být správně. A jak rozjet bod 2 i 1 současně. Pointa je, že na /jazyk/autor/jmeno-autora/ je profil a /jazyk/autor/jmeno-autora/clanky/ je výpis.

    Jinak oba zápisy fungují samy o sobě. Ale když aktivuji druhej (tj. výpis), tak se nedostanu na profil.

    ---------- Příspěvek doplněn 09.10.2019 v 22:58 ----------

    Vyřešeno takhle:

    Kód:
    $wp_rewrite->add_rule('([^/]+)/autor/([^/]+)','index.php?pagename=autor&autorname=$matches[2]','top');
    
    $wp_rewrite->add_rule('([^/]+)/autor/([^/]+)/(vypis)/?','index.php?pagename=autor&autorname=$matches[2]&podstranka=$matches[3]','top');
    Nevím, jak moc to je správně, ale funguje.
    Naposledy upravil Doctore97 : 09.10.2019 v 23:01

  2. Co se právě děje na Webtrhu?
  3. kdybych upravoval htaccess, dal bych nejprve autora a pak článku, u autora bych uvedl flag L jako last. V regulárech bych chytl i zacatek a konec url (znaky ^ $), takhle to totiž může matchovat i někde uprostřed url (pokud to tam wp sám nedoplňuje).

    Tyhle funkce od WP neznám, podle manuálu lze ukázat co to generuje, print_r($wp_rewrite->mod_rewrite_rules());, můžeš to sem hodit? Třeba tam bude vidět chyba. Z jejich zdrojáků nejsem nadšený, ale podle všeho tam flag L dávají, viz https://core.trac.wordpress.org/brow...rite.php#L1540, takže by mělo stačit je použít ve správném pořadí, nejprve autor a poté články, což jsi podle vše nakonec udělat.

Hostujeme u Server powered by TELE3