✅ WEB- och WordPress -nyheter, teman, plugins. Här delar vi tips och bästa webbplatslösningar.

Hur man får en WordPress-taxonomie efter term-ID

24

Ibland, när man arbetar med ett projekt, finns det tillfällen då det skulle vara trevligt att ha en API-funktion som hjälper till att uppnå vad det än är som behöver göras. Exempel: möjligheten att hämta en taxonomi efter term-ID.

Visst, det är inte en svår sak att göra, men att ha möjligheten att hämta informationen från befintliga funktioner är alltid trevligt.

Men när det inte är möjligt skriver vi vårt eget sätt att göra det, eller hur?

Hämta ett Taxonomy By Term ID

När jag satte mig för att göra något sånt här kör jag i allmänhet idén av ett par andra utvecklare för att se till att jag inte saknar någon funktion som finns i WordPress-kärnan och jag vet bara inte om det.

(Detta händer mer än du kanske tror, ​​men det kan vara ett mer problem från min sida än något annat. Till och med fortfarande är WordPress en stor mjukvara :).

Användningsfallet för något sådant här är enkelt:

  • Jag har ett term-ID som har sparats i databasen på något annat sätt (som ett utvalt element någon annanstans i programmet, till exempel instrumentpanelen).
  • Jag vill visa taxonominamnet som är kopplat till det term-ID:t.

Konceptuellt tänker jag på detta som en typ av omvänd look. Normalt kan vi ta en taxonomi och slå upp dess termer. Men att genom en taxonomi efter term ID går åt andra hållet.

Lyckligtvis är det lätt nog om du piggyback från ett befintligt API. Kolla in det :

<?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 );
}

Koden ska vara lätt att följa (om inte för kommentarerna ovanför funktionen), men den kommer att returnera antingen en tom sträng eller taxonominamnet baserat på termen ID.

Eftersom get_term hämtar ett WP_Term- objekt kan vi titta på termens taxonomiegenskap för att ta tag i namnet. Jag trimmar sedan strängen för säkerhets skull (om jag arbetar med någon annans kod vet jag aldrig om den är vadderad eller inte och jag vill inte ha främmande tecken).

Oavsett, nu har du en funktion tillgänglig för att ta tag i taxonominamnet med termen ID. Om en tom sträng returneras, hittades inget taxonominamn.

Inspelningskälla: tommcfarlin.com

Denna webbplats använder cookies för att förbättra din upplevelse. Vi antar att du är ok med detta, men du kan välja bort det om du vill. Jag accepterar Fler detaljer