Heim > CMS-Tutorial > WordDrücken Sie > Einführung in den WordPress -Begriff Meta und WP_term

Einführung in den WordPress -Begriff Meta und WP_term

Jennifer Aniston
Freigeben: 2025-02-15 09:45:11
Original
138 Leute haben es durchsucht

Einführung in den WordPress -Begriff Meta und WP_term

Key Takeaways

  • Da WordPress 4.4 jetzt Objekte sind, erleichtert sie das Hinzufügen, Entfernen und Aktualisieren von Metadaten. Zuvor war das Einsparen von Metadaten für Taxonomien ein komplexer Prozess, der die Spardarstellungsmetadaten als Feld innerhalb der Tabelle wp_options erforderte.
  • Um mit dem Term Meta zu arbeiten, werden die Funktionen für add_term_meta, update_term_meta und delete_term_meta verwendet. Diese Funktionen in Kombination mit neuen UI -Elementen ermöglichen das Speichern und Aktualisieren neuer Metadaten für Begriffe.
  • Term Metadata kann verwendet werden, um Begriffe zu erweitern und einzigartige Funktionen bereitzustellen. Beispiele hierfür sind das Hinzufügen eines Bannerbildes zum oberen Bestandteil oder zur Bereitstellung von Metadaten, um Bedingungen unterschiedlich anzuzeigen, z. B. das Laden einer neuen Vorlagendatei basierend auf dem angezeigten Begriff.
  • Die WP_term-Klasse in WordPress ist eine objektorientierte Darstellung eines Begriffs. Es bietet Methoden zum Abrufen und Manipulieren von Termdaten, einschließlich Begriff Meta. Diese Klasse kann verwendet werden, um mit dem Term Meta zu arbeiten, indem eine Instanz der Klasse für einen bestimmten Begriff erstellt und anschließend die von der Klasse bereitgestellten Methoden verwendet werden, um die Meta -Daten des Begriffs abzurufen, hinzuzufügen, hinzuzufügen, zu aktualisieren oder zu löschen.
In WordPress können Sie Metadaten für Ihre Beiträge, Seiten und andere benutzerdefinierte Inhaltstypen problemlos sparen.

Damit alles funktioniert Begriffe oder nur mehrere maßgeschneiderte Taxonomien.

Da WordPress 4.4 und darüber hinaus Begriffe jetzt Objekte sind, genauso wie Beiträge, Seiten und benutzerdefinierte Inhaltstypen. Diese Änderung erleichtert es viel einfacher, Ihre Metadaten hinzuzufügen, zu entfernen und zu aktualisieren.

Die Hintergrundgeschichte mit dem Begriff meta

Die Community hat seitdem auf eine einfache Möglichkeit gedrängt, die Begriffsmetadaten zu kontrollieren, seitdem in WordPress 2.8. Es war ein langsamer Prozess, aber schließlich wurden Begriffe von Grund auf neu gestaltet, um eine Klassenstruktur zu verwenden. Dies plus ein paar unterschiedliche Änderungen in WordPress 4.4 bedeutet, dass Begriffe in einer Taxonomie (z. B. „Tags“, „Kategorien“ oder Sonderanfertigungen) jetzt ihre eigenen Meta leicht zugewiesen haben können.

Metadatenmanipulation auf die alte Art und Weise

Vor WordPress 4.4 gab es keine eindeutige Möglichkeit, Metadaten für Begriff Elemente leicht zu speichern. Dies war eine inhärente Einschränkung zu den Begriffen, als sie konstruiert wurden. Wenn Sie Taxonomien oder Bedingungen erweitern würden, müssen Sie Ihre Daten mithilfe von update_option direkt als Site -Option speichern. Dies war nicht ideal (da es die Optionstabelle überfüllte).

Ich habe zuvor über die Erweiterung von Taxonomien geschrieben, aber die Grundlagen waren, als Sie bereit waren, Ihre Metadaten zu speichern. Sie würden eine Funktion nennen, die so etwas aussah:

//saving new fields for category
function save_extra_taxonomy_fields($term_id){
    $term = get_term($term_id);
    $term_slug = $term->slug; 
    //collect category image id from posted values
    $term_category_image_id = isset($_POST['category_image_id']) ? sanitize_text_field($_POST['category_image_id']) : ''; 
    //update value and save it as an option
    update_option('category_image_id_' . $term_slug, $term_category_image_id);
}
add_action('create_category','save_extra_taxonomy_fields');
Nach dem Login kopieren
Nach dem Login kopieren

Im obigen Beispiel führen wir die an den Hook create_category angehängte Funktion aus (die beim Erstellen eines neuen Kategoriebegriffs ausgelöst wird). Dies wird nach unserem Wert und nach der Desinfektion als Option speichern. Während dies funktioniert, ist es nicht sehr hübsch.

Hinzufügen, Aktualisieren und Entfernen des Begriffs Meta

Um mit dem Begriff Meta zu arbeiten Mit diesen Funktionen können Sie in Kombination mit neuen UI -Elementen neue Metadaten für Ihre Begriffe speichern und aktualisieren.

addieren Begriff meta

Hinzufügen von Metadaten für einen Begriff beinhaltet die Funktion add_term_meta. Sie müssen drei Parameter mit einem optionalen vierten angeben.

  • $ Term_id - ID des Begriffs, den Sie diese Metadaten auf
  • speichern möchten
  • $ meta_key - Schlüsselname der Metadaten. So verweisen Sie auf die Daten
  • $ meta_Value - Die Daten selbst (denken Sie daran, zu sanieren)
  • $ einzigartig (optional) - Wenn der Metadatenschlüssel einzigartig sein sollte. Standardmäßig ist dies auf False festgelegt und bedeutet, dass wenn ein anderer Schlüssel denselben Namen die Funktion hat, überschreibt sie. Stellen Sie dies auf wahr, um die Einzigartigkeit zu gewährleisten.

Stellen Sie sich als Beispiel vor, für jeden Begriff in unserer Kategorie -Taxonomie möchten wir ein neues Stück Metadaten zuweisen, basierend auf der Anzahl der viele Beiträge dieser Kategorie. Mit WordPress 4.4 können wir alle Begriffe durchlaufen und diese neuen Metadaten speichern (für die Verwendung später in unserem Thema oder in unserem Thema).

function add_featured_to_categories(){

    //get all terms from the category taxonomy
    $taxonomy_name = 'category';
    $term_args = array(
        'orderby'       => 'name',
        'hide_empty'    => false,
        'fields'        => 'ids'
    );

    $terms = get_terms($taxonomy_name, $term_args);

    if($terms){

        $term_key = 'term_size';
        $term_value = 'empty';
        $term_unique = true;

        //go through all terms and set the new term meta
        foreach($terms as $term_id){

            $term = get_term($term_id, $taxonomy_name);
            $term_count = $term->count; 

            //determine new meta value
            if($term_count > 10){
                $term_value = 'big';
            }else if($term_count >= 5 && $term_count < 10){
                $term_value = 'medium';
            }else if($term_count >= 1 && $term_count < 5){
                $term_value = 'small';
            }

            //save meta value
            add_term_meta($term_id, $term_key, $term_value, $term_unique);  
        }
    }
}
add_action('init', 'add_featured_to_categories');
Nach dem Login kopieren
Nach dem Login kopieren

META -META

Wir können gespeicherte Begriffsmeta mit der Funktion get_term_meta lesen. Diese Funktion funktioniert ähnlich wie die Funktion get_post_meta, mit der Metadaten von Posts abgerufen werden. Um diese Funktion zu verwenden, um einen obligatorischen Parameter mit optionalen zwei Parametern anzugeben.

  • $ Term_id - Die ID des Begriffs, um Metadaten aus
  • abzurufen
  • $ key (optional) - Ein einzelner angegebener Schlüssel, den Sie zurückgeben möchten. Wenn nicht angegeben, wird alle Metadaten zurückgegeben.
  • $ Single (optional) - Wenn ein einzelner Wert zurückgegeben oder ein Schlüssel- oder Wertpaar wird. Standardmäßig zu einem einzigen Wert.

Schauen wir uns ein anderes Szenario an, in dem Sie dies möglicherweise nützlich finden.

Betrachten Sie eine Situation, in der wir bereits für jeden unserer Bedingungen in unserer Kategorie -Taxonomie bezeichnet werden. Diese gespeicherten Daten enthält die URL zu einem Bild, das beim Betrachten des Begriffs angezeigt werden sollte. Wir möchten dieses Bild als Banner unter unserer Termbeschreibung oder unserem Titels anzeigen, aber über unserer Auflistung von Beiträgen.

//given a term, collect its saved image to be displayed
function display_term_meta_image($term_id, $term_taxonomy){

    //get supplied term
    $term = get_term($term_id, $term_taxonomy); 
    if($term){

        $term_image_id = get_term_meta($term_id, 'term_image_id', true);
        if($term_image_id){
            //get the medium image size for display
            $term_image = wp_get_attachment_image_src($term_image_id, 'medium', false);
            echo '<img . $term_image[0] . '" title="' . $term->name . ' image"/>';
        }  
    }
}
Nach dem Login kopieren

Jetzt in unserer Kategorie.php- oder einer anderen untergeordneten Template -Datei können wir die Funktionalität ändern, in der unsere Termdaten angezeigt werden.

In meiner Situation mit vierundzwanzigzehn bearbeite ich die Datei category.php und rufe unsere neue Funktion direkt nach der Anzeige der Begriffe Beschreibungsinformationen an.

//get the current object (term)
$term_obj = get_queried_object();
//display meta data image for term
if(function_exists('display_term_meta_image')){
    display_term_meta_image($term_obj->term_id, $term_obj->taxonomy);
}
Nach dem Login kopieren

Dies zeigt unser Foto direkt unter der Beschreibung wie folgt an:

Einführung in den WordPress -Begriff Meta und WP_term

löschen Begriff meta

Wir können die Begriffsmetadaten genauso entfernen wie für Posts. Wenn wir die Funktion delete_term_meta verwenden, müssen wir zwei obligatorische Parameter mit einer Option Dritter angeben, wenn wir benötigen.

  • $ Term_id - Die ID des Begriffs zu arbeiten.
  • $ meta_key - Der Metaschlüssel, der aus dem Laufzeit entfernt wird.
  • $ meta_value (optional) - Löschen Sie die Metadaten nur, wenn der Wert mit diesem Wert übereinstimmt. Verwenden Sie dies, wenn Sie diese Daten nur dann beseitigen möchten, wenn sie mit einem festgelegten Wert übereinstimmt.

Schauen wir uns noch einmal ein Szenario an, in dem Sie dies möglicherweise verwenden. Stellen Sie sich vor, Sie durch ein großes Projekt und Sie haben bereits mehrere Meta -Daten für jeden Kategoriebegriff gespeichert. Sie haben festgestellt, dass einige dieser Daten, die Sie nicht mehr benötigen, wahrscheinlich löschen sollten, damit sie Ihre Datenbank nicht überladen.

//saving new fields for category
function save_extra_taxonomy_fields($term_id){
    $term = get_term($term_id);
    $term_slug = $term->slug; 
    //collect category image id from posted values
    $term_category_image_id = isset($_POST['category_image_id']) ? sanitize_text_field($_POST['category_image_id']) : ''; 
    //update value and save it as an option
    update_option('category_image_id_' . $term_slug, $term_category_image_id);
}
add_action('create_category','save_extra_taxonomy_fields');
Nach dem Login kopieren
Nach dem Login kopieren

Diese Funktion wird alle zusätzlichen Metadaten durchlaufen, die wir in unserer Variablen von $ erzeugen_term_keys nicht angegeben haben, und die Verschwendung in der Datenbank verringert (nützlich für Dutzende von Metadateneinträgen, die wir nicht mehr benötigen).

Rückwärtskompatibilität mit WordPress 4.3 und älter

Wenn Sie wirklich daran interessiert waren, diese neuen Meta -Funktionen voranzutreiben, sich aber gegen ältere Versionen abdecken wollten, können Sie einige bedingte Funktionen erstellen, um sicherzustellen, dass alles funktioniert.

function add_featured_to_categories(){

    //get all terms from the category taxonomy
    $taxonomy_name = 'category';
    $term_args = array(
        'orderby'       => 'name',
        'hide_empty'    => false,
        'fields'        => 'ids'
    );

    $terms = get_terms($taxonomy_name, $term_args);

    if($terms){

        $term_key = 'term_size';
        $term_value = 'empty';
        $term_unique = true;

        //go through all terms and set the new term meta
        foreach($terms as $term_id){

            $term = get_term($term_id, $taxonomy_name);
            $term_count = $term->count; 

            //determine new meta value
            if($term_count > 10){
                $term_value = 'big';
            }else if($term_count >= 5 && $term_count < 10){
                $term_value = 'medium';
            }else if($term_count >= 1 && $term_count < 5){
                $term_value = 'small';
            }

            //save meta value
            add_term_meta($term_id, $term_key, $term_value, $term_unique);  
        }
    }
}
add_action('init', 'add_featured_to_categories');
Nach dem Login kopieren
Nach dem Login kopieren

Wir starten zunächst Funktionen, um sicherzustellen, dass die neue Funktion add_term_meta definiert ist. Dies gilt nur für WordPress 4.4 und neuer. Wenn wir Unterstützung haben, verwenden wir die einfache add_term_meta -Funktion, um unserem Begriff Metadaten zuzuweisen.

Wenn wir keine Unterstützung haben, holen wir uns das Begriff Objekt selbst (nach der in der Term ID bestandenen ID) und aus diesem Grund extrahieren wir die $ Term_taxonomy -Daten und verwenden sie, um unseren endgültigen Schlüsselwert zu erstellen. Da wir in der Options -Tabelle sparen, müssen wir sicherstellen, dass der Schlüssel eindeutig ist, indem wir den Namen Taxonomie, die Laufzeit -ID und schließlich den Begriff Schlüssel in eine Variable hinzufügen. Wir müssen sicherstellen, dass der Schlüssel nicht mehr als 64 Zeichen lang ist und wenn dies abschneide. Sobald wir all dies getan haben, können wir unsere add_optionsfunktion aufrufen, um unseren Wert zu speichern.

Wie Sie sehen, wird dies etwas lang, aber Sie erhalten eine zusätzliche Flexibilität, um ältere und neuere WordPress -Versionen zu unterstützen.

wickeln Sie alles ein

Die Verwendung dieser neuen Meta -Funktionen sollte es Ihnen ermöglichen, Ihre Begriffe leichter zu erweitern, um eindeutige Funktionen bereitzustellen. Zum Beispiel möchten Sie möglicherweise ein Banner -Image oben in Ihre Begriffe hinzufügen oder Metadaten bereitstellen, damit Sie Ihre Begriffe bedingt unterschiedlich anzeigen können (z. B. das Laden einer neuen Vorlagendatei basierend auf dem angezeigten Begriff).

Mit der Flexibilität und Leichtigkeit des neuen Begriffs Meta -Funktionen können Sie dies noch heute in Ihren neuen Projekten implementieren!

häufig gestellte Fragen (FAQs) zu WordPress -Begriff Meta

Was ist WordPress -Begriff Meta? Diese Metadaten können alles aus zusätzlichen Beschreibungen, Bildern, Farben oder anderen Informationen sein, die Sie mit einem Begriff assoziieren möchten. Es ist ein leistungsstarkes Tool, das die Funktionalität und Benutzererfahrung Ihrer Website verbessern kann. ) Funktion. Diese Funktion nimmt drei erforderliche Parameter an: die Term -ID, den Metaschlüssel (der Name des Meta -Feldes) und den Metawert. Optional können Sie auch angeben, ob der Meta -Schlüssel eindeutig sein sollte. . Diese Funktion erfordert die Term ID und den Schlüssel des Meta -Feldes, den Sie abrufen möchten. Es gibt den Wert des Meta -Feldes für den angegebenen Begriff zurück.

Kann ich den Begriff meta in WordPress aktualisieren? Diese Funktion erfordert die Term -ID, den Metaschlüssel und den neuen Metawert. Wenn der Meta -Schlüssel für den Begriff nicht vorhanden ist, wird er hinzugefügt. . Diese Funktion erfordert die Term ID und den Meta -Schlüssel. Es löscht das angegebene Meta-Feld für den angegebenen Begriff. Es enthält Methoden zum Abrufen und Manipulieren von Termdaten, einschließlich Begriff Meta. Durch das Erstellen einer Instanz der Klasse für einen bestimmten Begriff und dann die von der Klasse bereitgestellten Methoden zum Abrufen, Hinzufügen, Aktualisieren oder Löschen der Meta -Daten des Begriffs. WordPress?

Begriff meta in WordPress kann für eine Vielzahl von Zwecken verwendet werden, z. Kann ich Begriff Meta mit benutzerdefinierten Taxonomien in WordPress verwenden? Der Begriff Meta -Funktionen funktionieren mit jeder Taxonomie, einschließlich benutzerdefinierter. Begriff meta in WordPress verwalten. Diese Plugins bieten benutzerfreundliche Schnittstellen zum Hinzufügen, Aktualisieren und Löschen von METAs, was es für diejenigen erleichtert, die mit Codierung nicht vertraut sind.

Das obige ist der detaillierte Inhalt vonEinführung in den WordPress -Begriff Meta und WP_term. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage