✅ WEB- ja WordPress -uutiset, -teemat, -laajennukset. Täällä jaamme vinkkejä ja parhaita verkkosivustoratkaisuja.

Kuinka saada WordPress-taksonomia termitunnuksen mukaan

29

Toisinaan projektin parissa työskennellessä on aikoja, jolloin olisi mukavaa käyttää API-toimintoa, joka auttaisi saavuttamaan mitä tahansa tehtävää. Esimerkki: kyky hakea taksonomia termitunnuksen perusteella.

Myönnettäköön, että se ei ole vaikea tehtävä, mutta kyky hakea tietoja olemassa olevista toiminnoista on aina mukavaa.

Mutta kun se ei ole mahdollista, kirjoitamme oman tapamme tehdä se, eikö niin?

Hae taksonomia termitunnuksen mukaan

Kun ryhdyn tekemään jotain tällaista, käytän yleensä muutamien muiden kehittäjien ideaa varmistaakseni, etten menetä jotain WordPress-ytimessä olevaa toimintoa, enkä vain tiedä siitä.

(Tätä tapahtuu enemmän kuin uskotkaan, mutta se voi olla minulle enemmän ongelma kuin mikään muu. Siitä huolimatta WordPress on iso ohjelmisto :).

Tämän kaltaisen käyttötapaus on yksinkertainen:

  • Minulla on termitunnus, joka on tallennettu tietokantaan jollain muulla tavalla (kuten valitulla elementillä muualla sovelluksessa, kuten kojelaudassa).
  • Haluan näyttää termin ID:hen liittyvän taksonomian nimen.

Käsitteellisesti pidän tätä eräänlaisena käänteisenä ilmeenä. Normaalisti voimme ottaa taksonomian ja etsiä sen ehdot. Mutta taksonomian mukaan termillä ID on menossa toiseen suuntaan.

Onneksi se on riittävän helppoa, jos luovut olemassa olevasta API :sta. Tarkista se :

<?php

/**
 * Retrieves the taxonomy name associated on the specified $term_id. 
 *
 * @access private
 * @param  int    $term_id  The term ID from which to retrieve the taxonomy name.
 * @return string $taxonomy The name of the taxaonomy associated with the term ID.
 */
private function get_taxonomy_by_term_id( $term_id) {

    // We can't get a term if we don't have a term ID.
    if (0 === $term_id || null === $term_id) {
        return;
    }

    // Grab the term using the ID then read the name from the associated taxonomy.
    $taxonomy = '';
    $term = get_term( $term_id );
    if (false !== $term) {
        $taxonomy = $term->taxonomy;
    }

    return trim( $taxonomy );
}

Koodin tulee olla helppo seurata (ellei funktion yläpuolella olevia kommentteja varten), mutta se palauttaa joko tyhjän merkkijonon tai taksonomian nimen termin ID perusteella.

Koska get_term hakee WP_Term- objektin, voimme tarkastella termin taksonomian ominaisuutta saadaksemme nimen. Leikkaan sitten merkkijonoa varmuuden vuoksi (jos työskentelen jonkun muun koodin kanssa, en koskaan tiedä, onko se täytetty vai ei, enkä halua ylimääräisiä merkkejä).

Siitä huolimatta, nyt sinulla on käytettävissä toiminto, jolla voit napata taksonomian nimen termillä ID. Jos tyhjä merkkijono palautetaan, taksonomian nimeä ei löytynyt.

Tämä verkkosivusto käyttää evästeitä parantaakseen käyttökokemustasi. Oletamme, että olet kunnossa, mutta voit halutessasi kieltäytyä. Hyväksyä Lisätietoja