Onko kokemuksia miten välitetään linkissä parametrejä wordpressin custom siviulla?
Olen tekemässä omaa sivua templatesivulla ja olisi tarkoitus näyttää tietoa sivulla $_GET:n perusteella.¨
esim. tällä tapaa näyttäisi tietyn vuoden: www.domain.com/omasivu.php?vuosi=2016
echo "<a href={$_SERVER["PHP_SELF"]}?vuosi={$vuosilista->vuosi}>";
tuo heittää aina index.php sivulle
onko wordpressissä jokin fiksu tapa tälläiseen?
Oisko näin:
<?php echo '<a href="?vuosi='.htmlspecialchars($_GET["Vuosi"]).'">Vuosi</a>'; ?>
Tiedostonimeä tai -polkua ei tarvitse aina toistaa, vaan pelkän GET-parametrin muutoksen voi tehdä aloittamalla osoitteen ?-merkillä.
(Jos on takuuvarmaa, että tieto on luku, ei tarvita htmlspecialchars-funktiota. Asian voi varmistaa intval-funktiolla, kuten yllä.)
PHP_SELF ei ole turvallinen eikä tarpeellinen. Älä käytä sitä. Vähintäänkin htmlspecialchars on sen kanssa välttämätön.
Minnuu edelleen oksettaa ihmisten tapa tehdä php:n tulostuksesta hirveän sotkuista roskaa. Tässäpä yksi pseudohko esimerkki siitä, miten minusta tulee selkeämpää koodia:
<a href="<?= url($query) ?>">Vuosi <?= $query->year ?></a>
Aihe on jo aika vanha, joten et voi enää vastata siihen.