Rewrite URL s GET proměnnou

Zvolené téma obsahuje celkem 7 odpovědí. Do diskuze (3 účastníci) se naposledy zapojil uživatel  neteyescz a poslední změna je stará 12 let, 7 měsíců.

Aktuálně je na stránce zobrazeno 8 příspěvků - 1. až 8. (z celkem 8)
  • Autor
    Příspěvky
  • #1178

    zmesa47
    Participant

    Zdravím odborníky,

    již delší dobu hledám řešení jak přepsat url adresy v kterých je předávaná proměnná (GET). Například http://www.mojedomena.cz/print/?printpage=34 předává stránce “print” ID stránky ze které se přišlo. Stránka “print” je založená stránka ve WP s upravenou šablonou pro tisk.

    Nedaří se mi přijít na dvě věci:

    1.) Jak přepsat url do tvaru např: “www.mojedomena.cz/print/34/” nebo ještě lépe “www.mojedomena.cz/print/jmeno-stranky-k-tisku/”

    2.) Jak na stránce “Print” vypsat jméno stránky ze která se přišlo. ID předchozí stránky mám, ale nedaří se mi ho převést na jméno

    No, možná jsem mi to nepodařilo popsat zcela přesně, ale pokud by měl někdo nějaký nápad na řešení, tak samozřejmě upřesním.

    Děkuji.

    #9229

    neteyescz
    Participant

    Zdravím,

    Jsem rozhodně zastánacem vlastních řešení, ale nebylo by možné v této situaci využít pluginu Wp-print, který je mnohem přívětivější k uživatelům a lze ho jednoduše pomocí Poeditu přeložit do češtiny?

    http://wordpress.org/extend/plugins/wp-print/

    Neteyes.cz

    #9230

    zmesa47
    Participant

    Na WP-print jsem se díval, ale nepodařilo se mi ho (alespoň na tomto konkrétním projektu) rozchodit. Nevím co bylo špatně – zase nějak moc času jsem mu nevěnoval.

    Chtěl jsem udělat vlastní a univerzální řešení u kterého si tiskovou stránku můžu přizpůsobit přesně dle konkrétních potřeb. Například jiné záhlaví a zápatí při tisku, atd …

    Vlastní proměnnou mám definovanou, předávání ID stránky funguje, tisková stránka funguje, ale pro lepší efekt bych rád vyřešil výše uvedené oba body. Návody na rewrite GET v URL jsem nějaké našel, ale na toto se mi nic (snad zatím) nepodařilo rozchodit :-(

    #9231

    admin
    Keymaster
    Web

    Plugin WP-Print myslím přesně umí vyřešit první popisovaný problém, kdy je na tisk odkazováno pomocí speciální URL adresy (musí se to ale možná někde zvolit v nastavení pluginu). Pro plugin existuje i naše čeština. Fungovat by měl i na nejnovější verzi WordPressu (podle uživatelů) a nejčastějším problémem při jeho zprovoznění bývá zapomenutá funkce wp_footer() v souboru footer.php.

    Vlastní řešení je samozřejmě vhodnější, ale v tomto případě i poněkud složitější. Zkuste si projít dvě zajímavé diskuze (1 a 2), kde podobný problém řeší s využitím API WordPressu (třída WP_Rewrite). Nic jednoduchého, ale zprovoznit to půjde. Pokud se někde “zaseknete”, tak klidně napište, zkusíme se na to podívat. Doporučujeme také pro vývoj geniální plugin Monkeyman Rewrite Analyzer, který určitě oceníte, když vám něco nebude fungovat. Uvítáme také, pokud se podělíte o zprovozněné řešení…

    A pokud jde o druhý bod, tak možností bude asi více, ale název stránky ze známého ID můžete získat např. pomocí funkce get_the_title(), kde parametrem je právě ID. Pro název v URL této stránky pak můžete použít např. funkci get_permalink() společně s PHP funkcí basename():

    $nazev_url = basename( get_permalink() );

    #9232

    zmesa47
    Participant

    Děkuji za tipy na diskuze. Jednu z nich jsem již pročítal.

    Ve footer.php funkce wp_footer() je, ale mám dojem, že se to s něčím “mlátí”. Zkusím ještě vše povypínat a případně i vyprázdnit functions.php pro jistotu.

    Na plugin Monkeyman Rewrite Analyzer jsem již nahlížel, ale prozatím nezkoušel. Vypadá, že by mohl pomoci s odhalováním.

    Rád bych toto řešení (rewrite) dotáhl do konce nejen k vůli tisku, ale i pro další věci jako například předávání proměnné pro formulář, atd… Zkusím to ještě prozkoumat a dám vědět.

    #9233

    zmesa47
    Participant

    Zdravím,

    tak hlásím, že jsem z nedostatku času (a trochu i z lenosti) použil wp-print u kterého jsem si upravil tiskový výstup podle svého.

    #9234

    admin
    Keymaster
    Web

    Také řešení :-) Proč vám ten plugin vlastně původně nefungoval?

    #9235

    neteyescz
    Participant

    Podle mého bylo řešení pomocí Wp-print v této situaci nejlepší…

Aktuálně je na stránce zobrazeno 8 příspěvků - 1. až 8. (z celkem 8)

Pokud chcete odpovědět na toto téma, musíte se nejdříve přihlásit.

WordPress – novinky, návody a zajímavosti