Kam zmizely proměnné?

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

Aktuálně jsou na stránce zobrazeny 4 příspěvky - 1. až 4. (z celkem 4)
  • Autor
    Příspěvky
  • #23124

    mackopu
    Participant

    Vytvořil jsem wp stránku – např. http://example.com/?p=10, která se automaticky překládá na http://example.com/vypis/. Na této stránce nechávám pomocí php generovat odkazy na jinou wp stránku – http://example.com/?p=11, která se automaticky překládá na http://example.com/detail/. K těmto odkazům přidávám proměnné $pages a $name. Odkazy pak vypadají např. takto – http://example.com/?p=11&name=janesmith&posts=169,82,80. Potud OK.
    Když ale na odkaz kliknu, v adresním řádku se mi objeví http://example.com/detail/?posts=169%2C82%2C80 a proměnná $name se kamsi ztratí, takže s ní nemohu dál pracovat.
    Zkusil jsem ze zvědavosti oželet proměnnou $pages a zadal jsem do adresního řádku jen http://example.com/?p=11&name=janesmith, což se přeložilo jako http://example.com/detail/?name=janesmith, a jaké bylo moje překvapení, když se objevila chyba 404 (neexistující stránka)!
    Čím to je? Proč wp akceptuje proměnnou $pages a jinou ne? A jak mám wp přinutit k tomu, aby “zkousnul” a předal takovou proměnnou, jakou potřebuji?

    #23125

    mackopu
    Participant

    Pardon, nikoliv $pages ale $posts.

    #23127

    kidnec
    Participant
    Web

    nejsem bezpečnostní technik, ale myslim že tohle hlídání URL je správné. WP je na to dobře připravenej. Stačí tvůj dotaz přeformulovat do pár slov a zeptat se googlu.

    echo esc_url( add_query_arg( 'hello', 'there', get_permalink( 9 ) ) );

    tohle by mělo mýt výstup: http://blog.example.com/?p=9&hello=there
    pro tvé potřeby použij místo prvních dvou argumentů pole, kde by klíče měli odpovídat přiřazeným polím.

    netestoval jsem to tak se ozvi ;)

    #23129

    mackopu
    Participant

    Díky, to mi usnadnilo práci.
    Nicméně problém stále přetrvával (404), a tak jsem zkusmo přejmenoval proměnné na $name_oa a $posts_oa a začalo to fungovat. NÁHODA – původní proměnná $name z nějakého důvodu kolidovala s něčím ve WP! Inu, o důvod víc dávat vlastním proměnným originální názvy…
    Téma tímto považuji za uzavřené, a díky za pomoc a trpělivost, kidnec :-)

Aktuálně jsou na stránce zobrazeny 4 příspěvky - 1. až 4. (z celkem 4)

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

WordPress – novinky, návody a zajímavosti