Support » Kokeneille käyttäjille » get_page_by_name()

  • Yritän tulostaa PHP:llä tästä funktiosta arvoa, sivun otsikko.

    get_page_by_name($page_title, $output)

    Yritin katsoa myös lähdetiedostoa wp_includes/post.php.
    Siellä sivun otsikolla oli osoitettu jokin ”arvo” %s.

    Esim.
    get_page_by_name('Ohjelma')
    Voisiko joku valaista, että miten kutsun sitä? Miten saan tulostettua tuon ”Ohjelma” nimen.

Esillä 6 vastausta, 1 - 6 (kaikkiaan 6)
  • 1. Voitko tarkentaa mitä tarkoitat nimellä? Sivun otsikkoa, sivun polkutunnusta (slug) vai jotain muuta?

    ESIMERKKI:
    Sivun otsikko voi esimerkikisi olla Tuki ja ylläpito, jolloin polkutunnus on tuki-ja-ylläpito.

    Ylläoleva kuitenkin edellyttää, että osoiterakenteeksi on määritetty WordPressin hallinnassa mukautettu rakenne ja arvoksi /%postname%
    Osoiterakenteen löydät WP:n hallinnasta sivulta Asetukset >> Osoiterakenne

    Tarkoitatko mahdollisesti funktiota get_page_by_title()?

    Mitä haluat tehdä? Tuo funktio palauttaa sivun otsikon perusteella objektin. Eli esimerkiksi $page = get_page_by_title('Ohjelma') sijoittaa $page-muuttujaan Ohjelma-sivun objektimuodossa, jonka jälkeen voit tehdä objektilla mitä haluat – siitä saa kätevästi vaikka sivun ID:n ($page->ID).

    Tuota objektia ei itsessään saa tulostettua oikein mitenkään järkevästi, mutta sen arvoja käyttämällä saa irti kaiken, mitä WordPress kyseisestä sivusta tai merkinnästä tietää.

    Thread Starter stode

    (@stode)

    Tarkoitatko mahdollisesti funktiota get_page_by_title()?

    Tätä juuri tarkoitin. Ongelma oli tarkemmin siis, se että halusin käyttää WPLM- lisäosaa, jotta saan kirjoitettua kaksikielisesti, mutta tein navigaation manuaalisesti. Se ei luonnollisesti tullut käännetyksi.

    Yritin sitten käyttää funktiota get_page_by_title() funkitiota saadakseni linkin otsikot dynaamisesti, mutta huomasin sitten että silloinhan sivuilla ja artikkeleilla on eri ID:t vaikka ne ovatkin linkitetty toisiinsa, eli otin itseäni niskasta kiinni ja käytin funktiota

    wp_list_pages()

    ja muokkasin sitä hieman niin että se näytti tältä `

      <?php wp_list_pages(’sort_column=menu_order&title_li=&link_before=<span>&link_after=</span>’); ?>

    `

    Thread Starter stode

    (@stode)

    Ylläoleva kuitenkin edellyttää, että osoiterakenteeksi on määritetty WordPressin hallinnassa mukautettu rakenne ja arvoksi /%postname%
    Osoiterakenteen löydät WP:n hallinnasta sivulta Asetukset >> Osoiterakenne

    Kiitos tästä tiedosta, minulla sattui olemaan mukautettuna rakenteena juurikin/%postname%/, mutta en tiennyt, että sitä vaaditaan funktion get_page_by_title käyttöön.

    Mitä haluat tehdä? Tuo funktio palauttaa sivun otsikon perusteella objektin. Eli esimerkiksi $page = get_page_by_title(’Ohjelma’) sijoittaa $page-muuttujaan Ohjelma-sivun objektimuodossa, jonka jälkeen voit tehdä objektilla mitä haluat – siitä saa kätevästi vaikka sivun ID:n ($page->ID).

    Kiitos myös tämän havainnollistamisesta. Sain siitä loppuen lopuksi sivun nimen tekstimuodossa ulos, mutta se ei tosiaan toiminut käännöksen kanssa.

    Permalinkkien rakenne ja get_page_by_title() eivät ole sidoksissa toisiinsa, se toimii kyllä ihan millä permalinkeillä tahansa.

    Thread Starter stode

    (@stode)

    Permalinkkien rakenne ja get_page_by_title() eivät ole sidoksissa toisiinsa, se toimii kyllä ihan millä permalinkeillä tahansa.

    Kiitos korjauksesta, ymmärsin siis väärin. 🙂

Esillä 6 vastausta, 1 - 6 (kaikkiaan 6)
  • The topic ‘get_page_by_name()’ is closed to new replies.