• Olen luonut WP-sivustoni posteille eri kategorioita, esim.
    – uutiset (id=2)
    – raportit (id=3)
    – yhteystietokortit (id=4)

    Lukiessani kategorian ”uutiset” uusinta uutista, prev_link saattaa osoittaa silti esim. ”raportit” kategorian uusimpaan juttuun. Miten onnistuisin excludaamaan nuo muut kategoriat

    yritän hahmottaa jotain tyyliin:

    if cat=2 (query_posts('cat=-3,-4'));
    {
    tulosta tähän linkki edelliseen saman kategorian uutiseen ja
    linkki seuraavaan saman kategorian uutiseen (jos sellainen on)
    }
     else if cat=3(query_posts('cat=-2,-4'));

    ..toivoisin vinkkejä siihen miten tuo kannattaisi tehdä.

Esillä 4 vastausta, 1 - 4 (kaikkiaan 4)
  • Logiikka tuossa on tosiaan se, että näytetään edellinen tai seuraava merkintä kronologisessa järjestyksessä, kategorioista piittamatta.

    Kategorioihin rajoittaminen onnistuu helposti (ja mieluummin niin päin, että ”cat=3”, eikä ”cat=-2,-4”), mutta näin äkkiä ei tule mieleen, miten saisi haettua edellisen tai seuraavan merkinnän…

    Lähdekoodiin sukeltaminen kannatti. Hommaan on valmis ratkaisu, WordPress käyttää itse konepellin alla get_adjacent_post()-funktiota tähän.

    En ole kokeillut, mutta get_adjacent_post(true, '', true) palauttaa edellisen merkinnän samasta kategoriasta ja vaihtamalla viimeisen truen falseksi saa seuraavan. Ensimmäinen true rajaa tuon samaan kategoriaan. Palautus on tietokantarivi eli vissiin post-objekti. Tuo toimii vain kontekstissa, jossa $post on määritelty.

    Thread Starter pmkr

    (@pmkr)

    Kiitos! Alan heti tutkia asiaa. Codexista löytyi
    infoa.

    Ihan toinen juttu minkä juuri huomasin – mistä johtuu, että muokatessani postin (artikkelin) koodia wp:n hallinnassa (lisäilin <hr/>:iä), koodi-ikkuna ”pomppii”? Ts. jos kyseessä pitempi teksti ja joudun skrollaamaan alemmas, ikkuna pompauttaa näkymän välittömästi ensimmäiselle riville. Joissakin foorumisoftissa olen törmännyt samaan ongelmaan.

    Thread Starter pmkr

    (@pmkr)

    Toimii mun tarkoitukseen 🙂

    wp-includes/link-template.php

    kopioin funktion
    previous_post_link($format=’« %link’, $link=’%title’, $in_same_cat = false, $excluded_categories = ”)
    ja muutin sen

    previous_uutinen_link()($format=’« %link’, $link=’%title’, $in_same_cat = true, $excluded_categories = ”)

    ja sama next_link -toiminnolle.
    Mikäli postaus on esim. kahdessa kategoriassa, se näyttää ajallisesti edellisen / seuraavan jommasta kummasta kategoriasta.

    Näppärää, hyvä että ratkesi. Koodi-ikkunan pomppimiseen en osaa sanoa muuta kuin että joo, joskus tuollaista on minullakin ollut. Muokkaan tiedostoja pääasiassa ulkoisella editorilla, niin en ole tuolla enempää päätäni vaivannut.

Esillä 4 vastausta, 1 - 4 (kaikkiaan 4)
  • The topic ‘kustomoidut previous_post_link ja next_post_link?’ is closed to new replies.