Päivä-arkisto: 12. Elo 2006 ↓

Huomaathan, vanhin merkintä on ensimmäisenä.

Arkistossa vanhin ensin

Huimaa, löysin ratkaisun ilman että olisi ollut tarvetta tehdä kaikkea alusta saakka. Pikaisen testaamisen jälkeen seuraava ratkaisu saa aikaan sen että kaikki arkistosivut näyttävät vanhimman merkinnän ensin. Sivutus tapahtuu kyllä edelleen niiden asetuksien mukaan jotka määrittelevät kuinka monta merkintää per sivu näkyy, mutta tärkein funktio, eli vanhin ensin, toteutuu. Tämä lajittelee myös kategoria-selauksessa vanhimman ensin, ehkäpä tutkin vielä sen lajittelun pitämistä uusin-ensin muodossa.

Eli, halutun teeman archive.php (Archives Template) tiedosto/template:sta etsitään seuraava kohta:

<?php while (have_posts()) : the_post(); ?>

ja heti ennen tätä lisätään rivi:

<?php {query_posts($query_string."&order=ASC"); } ?>

jolloin siis kohta näyttää tältä:

<?php {query_posts($query_string."&order=ASC"); } ?>
<?php while (have_posts()) : the_post(); ?>

Toivottavasti halukkailla WP:n käyttäjillä tämä toimii myös ja koska tuo lisätty rivi on helppo poistaa jonkin mennessä vikaan, tämä ei ole kovinkaan riskaabeli viritysyritys. Testattu 1.5.2 ja 2.0.2 wordpress-versioilla. Valitettavasti blogsome.com eikä wordpress.com-pohjaisilla blogeilla tämä ei onnistu testattuani sitä, sillä näissä ei pääse editoimaan tarvittavaa tiedostoa.

Tutkiessani lähdekoodia, löysin kyllä tuon lajittelun suunnan määrittelevän kohdan, mutta valitettavasti en aivan itsekseni löytänyt ratkaisua siihen, miten pelkät arkistot saisi vanhin-ensin järjestykseen, mutta tämä keino lähettää LOOP:toiminnon kyselyketjulle muuttujan tuoksi järjestykseksi eli nouseva järjestys. Wordpress:in oma tukisivusto ratkaisi sitten ongelmamme/ni.

Mikäli täällä esiintyy tämän virityksen/säädön johdosta ongelmia kenelläkään, mieluusti kuulisin siitä esimerkiksi tämän merkinnän kommenteissa, sekä tietysti mikäli itsellänne tulee tätä kokeiltuanne ongelmia, pyrin olemaan avuksi kykyjeni mukaan.

________

Tagit:

Korjaus/muutos arkistoselaamiskohtaan

Eli kun aiemmin kirjottamassani merkinnässä tarjoama muutos teki selaamisen kaikkien arkistojen kohdalla sellaiseksi että vanhin tulee ensin, niin tässä on hieman erilainen, samaa tekniikka käyttävä muutos, jolla saa halutut arkistotyypit lajitelluksi vanhin-ensin ja loput jää uusin-ensin järjestykseen. Itselleni tein näin, eli Lokeroja selatessa näkyy uusin ensin, mutta kuukausi- päivä- ja vuosiarkistoja selatessa vanhin ensin. Eli, sama tiedosto kuin aiemminkin, archive.php käsiteltäväksi, ja siitä kohta jossa on listattu eri arkistotyyppejä ja tehty näihin if lauseita, alla tuo kohta omien, lihavoitujen lisäyksieni kera.

<?php /* If this is a daily archive */ } elseif (is_day()) { ?>
<?php {query_posts($query_string."&order=ASC"); } ?>

<?php /* If this is a monthly archive */ } elseif (is_month()) { ?>
<?php {query_posts($query_string."&order=ASC"); } ?>

<?php /* If this is a yearly archive */ } elseif (is_year()) { ?>
<?php {query_posts($query_string."&order=ASC"); } ?>

Eli siis lihavoidut tekstit heti noiden lihavoimattomien alle, selvensin tätä kirjoittaessani hieman tuota.

Tämä saattaa näyttää huomattavasti hankalammalta, lähinnä lisättävien rivien määrän takia, sekä siksi että mahdollisuus törkätä tuo lajitteluperusterivi väärään kohtaan on huomattavasti suurempi. Siksipä, mikäli ei halua eri arkistotyyppejä lajitella erilailla, vaan riittää että kaikki arkistot näyttävät vanhimman ensin, suosittelen tuota aiemmin mainittua muutostapaa.

________

Tagit: , ,