目錄
鑰匙要點
>我已經寫過有關擴展分類法的文章,但是,它的基本知識是在您準備保存元數據時,您會稱呼看起來像這樣的功能:
刪除術語元
經常詢問有關WordPress術語Meta
什麼是WordPress術語META?
如何在wordpress中添加術語元?
>我可以在wordpress中更新術語元嗎?
>在WordPress?
首頁 CMS教程 &#&按 WordPress術語元和WP_TERM簡介

WordPress術語元和WP_TERM簡介

Feb 15, 2025 am 09:45 AM

WordPress術語元和WP_TERM簡介

鑰匙要點

  • >由於WordPress 4.4,術語現在為對象,使添加,刪除和更新元數據更容易。在此之前,將元數據保存為分類法是一個複雜的過程,它需要保存元數據作為WP_OPTIONS表中的字段。
  • 使用術語元,add_term_meta,update_term_meta和delete_term_meta函數使用。這些功能與新的UI元素相結合,可以為術語保存和更新新的元數據。
  • 術語元數據可用於擴展術語,提供獨特的功能。示例包括將橫幅圖像添加到術語的頂部或提供元數據以有條件顯示的術語不同,例如根據顯示的術語加載新的模板文件。
  • > WordPress中的WP_TERM類是一個術語的面向對象表示。它提供了檢索和操縱術語數據的方法,包括術語元數據。該類可用於通過創建特定術語的類實例來處理術語元,然後使用類提供的方法來檢索,添加,更新或刪除該術語的元數據。
  • 在WordPress中,您可以輕鬆地將元數據保存在帖子,頁面和其他自定義內容類型中,但是保存元數據供您的分類法使用,曾經是一個過於復雜的過程(我什至在這裡寫了上一篇文章!)。

要獲得所有工作,您需要將任期元數據作為每個數據的WP_OPTIONS表中的字段保存為字段,這意味著您可能有數百個,如果不是數千個額外的條目,則術語或僅幾個定制分類法。

但是,由於WordPress 4.4及以後,術語現在為對象,與帖子,頁面和自定義內容類型相同。此更改使添加,刪除和更新您的元數據變得更加容易。

>

帶有術語meta

的背景故事

自從WordPress 2.8返回以來,社區一直在推動一種簡單的方法來控制術語元數據。這是一個緩慢的過程,但最終從頭開始重新設計了術語以使用班級結構。這加上WordPress 4.4的一些不同的更改意味著分類法(例如“標籤”,“類別”或“自定義”)中的術語現在可以輕鬆地分配給他們。

元數據操縱舊方法

在WordPress 4.4之前,沒有明確的方法可以輕鬆地為術語項目保存元數據,這是對構造方式的術語的固有限制。如果您要擴展分類法或條款,則必須將數據直接保存為使用Update_option的站點選項。 這不是理想的(因為它使選項表雜亂無章)。

>

>我已經寫過有關擴展分類法的文章,但是,它的基本知識是在您準備保存元數據時,您會稱呼看起來像這樣的功能:

>
//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');
登入後複製
登入後複製
在上面的示例中,我們執行附加到Create_Category Hook(創建新類別術語時觸發)的函數。這將尋找我們的價值,在消毒後將其作為選擇。雖然這起作用並不是很漂亮。

添加,更新和刪除術語元

要使用術語元,您將使用add_term_meta,update_term_meta和delete_term_meta函數。這些功能與新的UI元素結合使用,可以讓您為您的條款保存和更新新的元數據。

添加術語元

添加術語的元數據涉及add_term_meta函數。您需要使用可選的第四個參數指定三個參數。

    $ term_id - 您要保存此元數據的術語ID
  • $ META_KEY - 元數據的關鍵名稱。這就是您將如何引用數據
  • >
  • $ meta_value - 數據本身(記住要消毒)
  • $ unique(可選) - 如果元數據鍵應該是唯一的。默認情況下,這將設置為false,意味著,如果另一個鍵具有相同的名稱,則該功能將覆蓋它。將其設置為真實,以確保獨特性。
  • 作為一個例子,想像一下,對於我們的類別分類法中的每個術語,我們希望根據將多少帖子分配給此類別的新元數據。使用WordPress 4.4,我們可以循環循環所有術語,並保存此新元數據(供以後在我們的主題或插件中使用)。

讀取術語meta

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');
登入後複製
登入後複製
>我們可以使用get_term_meta函數讀取保存的術語元。該函數的工作方式與用於從帖子中獲取元數據的get_post_meta函數類似。 要使用此功能以指定一個強制性參數,並使用兩個可選參數。

$ term_id - 從

>獲取元數據的術語ID

$鍵(可選) - 您要返回的單個指定密鑰。如果未指定,則將返回所有元數據。
  • $ single(可選) - 如果將返回單個值或鍵或值對。默認為單個值。
  • >讓我們看一下您可能會發現這有用的另一種情況。
  • 考慮一種我們已經在類別分類法中為我們的每個條款節省的元項的情況。此保存的數據包含在查看術語時應顯示的圖像的URL。我們希望將此圖像顯示為術語描述或標題的橫幅,而在我們的帖子列表之上。

現在,在我們的類別中,或其他兒童主題模板文件,我們可以修改顯示我們的術語數據的功能。

在我的情況下,我正在使用二十四個問題進行編輯類別。

//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"/>';
        }  
    }
}
登入後複製
這將在這樣的描述下顯示我們的照片:

>WordPress術語元和WP_TERM簡介

刪除術語元

>我們可以刪除術語元數據,與帖子相同。當我們使用delete_term_meta函數時,如果需要,我們需要提供兩個強制性參數。

    $ term_id - 術語的ID。
  • $ META_KEY - 將從該學期刪除的元密鑰。
  • > $ META_VALUE(可選) - 僅在值匹配此值時才刪除元數據。當您僅在匹配設置值時才要刪除此數據時,請使用此此操作。
  • >
  • 再次讓我們看一下您可以使用此情況的情況。想像一下您通過一個大型項目的一半,您已經將幾個元數據保存到了每個類別術語中。您已經發現其中一些數據不再需要,因此您可能應該清除它,以免它弄亂您的數據庫。

此功能將通過並刪除我們在$ wasse_term_keys變量中未指定的任何其他元數據,從而減少了數據庫中浪費的空間(對於我們有數十個元數據條目時,我們不再需要)。 > 與WordPress 4.3及以上的
//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');
登入後複製
登入後複製
向後兼容

>您真的很想向前推進這些新的元功能,但想掩蓋自己的舊版本,則可以創建一些有條件的功能以確保一切都可以。

我們首先調用函數_EXISTS,以確保定義新的add_term_meta函數。這僅適用於WordPress 4.4和更新。如果我們有支持,我們會使用簡單的add_term_meta函數將元數據分配給我們的術語。

>如果我們沒有支持,我們會抓住術語對象本身(通過術語ID中的術語),然後我們提取$ TERM_TAXONOMY數據並使用它來構建我們的最終鍵值。由於我們將保存到選項表中,我們需要確保密鑰是唯一的,因此我們通過將分類法名稱,術語ID和術語鍵添加到一個變量中來做到這一點。 我們必須確保密鑰的長度不超過64個字符,並將其修剪成。完成所有這些操作後,我們可以調用我們的add_option函數以節省我們的價值。 > 如您所見,這會變得很長,但是您確實會增加靈活性以支持較舊和較新的WordPress版本。
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');
登入後複製
登入後複製

將其全部包裝

使用這些新的元功能應使您更輕鬆地擴展您的術語以提供獨特的功能。例如,您可能需要在術語的頂部添加橫幅圖像或提供元數據,以便您可以有條件地以不同的方式顯示您的條款(例如,根據顯示的術語加載新的模板文件)。

>具有新術語元函數的靈活性和易度性,您可以立即開始在新項目中實現此功能!

>

經常詢問有關WordPress術語Meta

的問題(常見問題解答)

什麼是WordPress術語META?

WordPress項META是一項功能,它允許您將自定義元數據存儲在WordPress站點中。該元數據可以是其他任何要與該術語相關聯的信息,也可以是任何其他描述,圖像,顏色或任何其他信息。這是一個功能強大的工具,可以增強網站的功能和用戶體驗。

如何在wordpress中添加術語元?

​​

在WordPress中添加術語META,您可以使用add_term_meta( ) 功能。此功能採用三個必需的參數:術語ID,元密鑰(元字段的名稱)和元值。可選地,您還可以指定元密鑰是否應該是唯一的。

>

>我如何在WordPress中檢索術語元數據?

>

>您可以使用get_term_meta()function在WordPress中檢索術語元數據。此功能需要您要檢索的元字段的術語ID和鍵。它返回指定術語的元字段的值。

>我可以在wordpress中更新術語元嗎?

是的,您可以使用update_term_meta()function在WordPress中更新術語Meta。此功能需要術語ID,元密鑰和新的元值。如果該術語不存在元密鑰,則將添加。

>

>如何在WordPress中刪除術語META?

>您可以使用DELETE_TERM_META()函數在WordPress中刪除WordPress中的術語Meta 。此功能需要術語ID和META鍵。它刪除了給定術語的指定元字段。

> wordpress中的WP_TERM類是什麼?

> WordPress中的WP_TERM類是一個術語的面向對象的表示。它提供了檢索和操縱術語數據的方法,包括術語meta。

>我如何使用WP_TERM類使用術語元?通過為特定術語創建類的實例,然後使用類提供的方法來檢索,添加,更新或刪除該術語的元數據。

>在WordPress?

> WordPress中的術語元素可用於多種目的,例如將其他信息添加到類別或標籤中,為術語創建自定義字段,增強搜索功能等等。我可以使用WordPress中的自定義分類法的術語元素嗎?術語元函數可與任何分類法(包括自定義的分類法)一起使用。

>是否有任何可以幫助我在WordPress中管理術語元的插件?

是的,有幾個可用的插件可以為您提供幫助在WordPress中管理術語元。這些插件提供了添加,更新和刪除術語元的用戶友好接口,這使得那些不滿意編碼的人更容易。

>

以上是WordPress術語元和WP_TERM簡介的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

如何開始WordPress博客:初學者的分步指南 如何開始WordPress博客:初學者的分步指南 Apr 17, 2025 am 08:25 AM

博客是人們在網上表達觀點、意見和見解的理想平台。許多新手渴望建立自己的網站,卻因擔心技術障礙或成本問題而猶豫不決。然而,隨著平台不斷發展以滿足初學者的能力和需求,現在開始變得比以往任何時候都更容易。 本文將逐步指導您如何建立一個WordPress博客,從主題選擇到使用插件提升安全性和性能,助您輕鬆創建自己的網站。 選擇博客主題和方向 在購買域名或註冊主機之前,最好先確定您計劃涵蓋的主題。個人網站可以圍繞旅行、烹飪、產品評論、音樂或任何激發您興趣的愛好展開。專注於您真正感興趣的領域可以鼓勵持續寫作

wordpress文章列表怎麼調 wordpress文章列表怎麼調 Apr 20, 2025 am 10:48 AM

有四種方法可以調整 WordPress 文章列表:使用主題選項、使用插件(如 Post Types Order、WP Post List、Boxy Stuff)、使用代碼(在 functions.php 文件中添加設置)或直接修改 WordPress 數據庫。

如何在父分類的存檔頁面上顯示子分類 如何在父分類的存檔頁面上顯示子分類 Apr 19, 2025 pm 11:54 PM

您想了解如何在父分類存檔頁面上顯示子分類嗎?在自定義分類存檔頁面時,您可能需要執行此操作,以使其對訪問者更有用。在本文中,我們將向您展示如何在父分類存檔頁面上輕鬆顯示子分類。為什麼在父分類存檔頁面上顯示子分類?通過在父分類存檔頁面上顯示所有子分類,您可以使其不那麼通用,對訪問者更有用。例如,如果您運行一個關於書籍的WordPress博客,並且有一個名為“主題”的分類法,那麼您可以添加“小說”、“非小說”等子分類法,以便您的讀者可以

如何在 WordPress 中獲取登錄用戶信息以獲得個性化結果 如何在 WordPress 中獲取登錄用戶信息以獲得個性化結果 Apr 19, 2025 pm 11:57 PM

最近,我們向您展示瞭如何通過允許用戶將自己喜歡的帖子保存在個性化庫中來為用戶創建個性化體驗。您可以通過在某些地方(即歡迎屏幕)使用他們的名字,將個性化結果提升到另一個水平。幸運的是,WordPress使獲取登錄用戶的信息變得非常容易。在本文中,我們將向您展示如何檢索與當前登錄用戶相關的信息。我們將利用get_currentuserinfo(); 功能。這可以在主題中的任何地方使用(頁眉、頁腳、側邊欄、頁面模板等)。為了使其工作,用戶必須登錄。因此我們需要使用

如何在 WordPress 中按帖子過期日期對帖子進行排序 如何在 WordPress 中按帖子過期日期對帖子進行排序 Apr 19, 2025 pm 11:48 PM

過去,我們分享過如何使用PostExpirator插件使WordPress中的帖子過期。好吧,在創建活動列表網站時,我們發現這個插件非常有用。我們可以輕鬆刪除過期的活動列表。其次,多虧了這個插件,按帖子過期日期對帖子進行排序也非常容易。在本文中,我們將向您展示如何在WordPress中按帖子過期日期對帖子進行排序。更新了代碼以反映插件中更改自定義字段名稱的更改。感謝Tajim在評論中讓我們知道。在我們的特定項目中,我們將事件作為自定義帖子類型。現在

對於初學者來說,WordPress容易嗎? 對於初學者來說,WordPress容易嗎? Apr 03, 2025 am 12:02 AM

WordPress對初學者來說容易上手。 1.登錄後台後,用戶界面直觀,簡潔的儀表板提供所有必要功能鏈接。 2.基本操作包括創建和編輯內容,所見即所得的編輯器簡化了內容創建。 3.初學者可以通過插件和主題擴展網站功能,學習曲線存在但可以通過實踐掌握。

如何在 WordPress 中顯示查詢數量和頁面加載時間 如何在 WordPress 中顯示查詢數量和頁面加載時間 Apr 19, 2025 pm 11:51 PM

我們的一位用戶詢問其他網站如何在頁腳中顯示查詢數量和頁面加載時間。您經常會在網站的頁腳中看到這一點,它可能會顯示類似以下內容:“1.248秒內64個查詢”。在本文中,我們將向您展示如何在WordPress中顯示查詢數量和頁面加載時間。只需將以下代碼粘貼到主題文件中您喜歡的任何位置(例如footer.php)。 queriesin

如何使用 IFTTT 自動化 WordPress 和社交媒體(及更多) 如何使用 IFTTT 自動化 WordPress 和社交媒體(及更多) Apr 18, 2025 am 11:27 AM

您是否正在尋找自動化 WordPress 網站和社交媒體帳戶的方法? 通過自動化,您將能夠在 Facebook、Twitter、LinkedIn、Instagram 等平台上自動分享您的 WordPress 博客文章或更新。 在本文中,我們將向您展示如何使用 IFTTT、Zapier 和 Uncanny Automator 輕鬆實現 WordPress 和社交媒體的自動化。 為什麼要自動化 WordPress 和社交媒體? 自動化您的WordPre

See all articles