搜尋
首頁CMS教程&#&按WordPress術語元和WP_TERM簡介

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 = 1 && $term_count >我們可以使用get_term_meta函數讀取保存的術語元。該函數的工作方式與用於從帖子中獲取元數據的get_post_meta函數類似。  要使用此功能以指定一個強制性參數,並使用兩個可選參數。
<h3>
</h3>$ term_id  - 從<p>>獲取元數據的術語ID
</p> $鍵(可選) - 您要返回的單個指定密鑰。如果未指定,則將返回所有元數據。 
  • $ 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  src="/static/imghwm/default1.png" data-src="https://img.php.cn/upload/article/000/000/000/173958391434515.jpg?x-oss-process=image/resize,p_40" class="lazy" . title="' . $term->name . ' image" alt="WordPress術語元和WP_TERM簡介" >';
        }  
    }
}
這將在這樣的描述下顯示我們的照片:

>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 = 1 && $term_count 
<p>將其全部包裝</p>
<p>使用這些新的元功能應使您更輕鬆地擴展您的術語以提供獨特的功能。例如,您可能需要在術語的頂部添加橫幅圖像或提供元數據,以便您可以有條件地以不同的方式顯示您的條款(例如,根據顯示的術語加載新的模板文件)。
</p>>具有新術語元函數的靈活性和易度性,您可以立即開始在新項目中實現此功能! <p>></p><h2 id="經常詢問有關WordPress術語Meta">經常詢問有關WordPress術語Meta</h2>的問題(常見問題解答)



<h3 id="什麼是WordPress術語META">什麼是WordPress術語META? </h3><p> WordPress項META是一項功能,它允許您將自定義元數據存儲在WordPress站點中。該元數據可以是其他任何要與該術語相關聯的信息,也可以是任何其他描述,圖像,顏色或任何其他信息。這是一個功能強大的工具,可以增強網站的功能和用戶體驗。 </p><h3 id="如何在wordpress中添加術語元">如何在wordpress中添加術語元? </h3> ​​<p>在WordPress中添加術語META,您可以使用add_term_meta( ) 功能。此功能採用三個必需的參數:術語ID,元密鑰(元字段的名稱)和元值。可選地,您還可以指定元密鑰是否應該是唯一的。 </p>><h3>>我如何在WordPress中檢索術語元數據? <ancy></ancy>
</h3>><p>>您可以使用get_term_meta()function在WordPress中檢索術語元數據。此功能需要您要檢索的元字段的術語ID和鍵。它返回指定術語的元字段的值。 </p><h3 id="gt-我可以在wordpress中更新術語元嗎">>我可以在wordpress中更新術語元嗎? </h3><p>是的,您可以使用update_term_meta()function在WordPress中更新術語Meta。此功能需要術語ID,元密鑰和新的元值。如果該術語不存在元密鑰,則將添加。 </p>><h3>>如何在WordPress中刪除術語META? <ancy></ancy>
</h3>>您可以使用DELETE_TERM_META()函數在WordPress中刪除WordPress中的術語Meta 。此功能需要術語ID和META鍵。它刪除了給定術語的指定元字段。 <p></p>> wordpress中的WP_TERM類是什麼? <h3></h3>> WordPress中的WP_TERM類是一個術語的面向對象的表示。它提供了檢索和操縱術語數據的方法,包括術語meta。 <p></p>>我如何使用WP_TERM類使用術語元?通過為特定術語創建類的實例,然後使用類提供的方法來檢索,添加,更新或刪除該術語的元數據。 <anc.><h3 id="gt-在WordPress">>在WordPress? </h3>
<p>> WordPress中的術語元素可用於多種目的,例如將其他信息添加到類別或標籤中,為術語創建自定義字段,增強搜索功能等等。我可以使用WordPress中的自定義分類法的術語元素嗎?術語元函數可與任何分類法(包括自定義的分類法)一起使用。 </p>
<h3>>是否有任何可以幫助我在WordPress中管理術語元的插件? <ancy></ancy>
</h3>是的,有幾個可用的插件可以為您提供幫助在WordPress中管理術語元。這些插件提供了添加,更新和刪除術語元的用戶友好接口,這使得那些不滿意編碼的人更容易。 <p>></p></anc.>

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

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
WordPress的插件生態系統如何增強其CMS功能?WordPress的插件生態系統如何增強其CMS功能?May 14, 2025 am 12:20 AM

WordPressPluginsscmscmscapabilities byferingCustomization和Functionality.1)超過50,000pluginsallowuserstailostailortheortheortheortheirsiteforseo,電子商務和蘇聯。 2)pluginScaneCanextendCoreFeatures,likeaddingcustompostposttypes.3bully.3 burl

WordPress適合電子商務嗎?WordPress適合電子商務嗎?May 13, 2025 am 12:05 AM

是的,WordPress非常适合做电商。1)通过WooCommerce插件,WordPress可以快速变成功能全面的在线商店。2)需要关注性能优化和安全性,定期更新和使用缓存、安全插件是关键。3)WordPress提供了丰富的定制选项,提升用户体验和SEO优化效果显著。

如何在 Yandex 網站管理員工具中添加您的 WordPress 網站如何在 Yandex 網站管理員工具中添加您的 WordPress 網站May 12, 2025 pm 09:06 PM

您想將您的網站連接到Yandex網站管理員工具嗎? Google搜索控制台、Bing和Yandex等網站管理員工具可幫助您優化網站、監控流量、管理robots.txt、檢查網站錯誤等。在本文中,我們將分享如何在Yandex網站管理員工具中添加您的WordPress網站來監控您的搜索引擎流量。什麼是Yandex? Yandex是一個位於俄羅斯的流行搜索引擎,類似於Google和Bing。您可以在Yandex中優

如何修復 WordPress 中的 HTTP 圖片上傳錯誤(簡單)如何修復 WordPress 中的 HTTP 圖片上傳錯誤(簡單)May 12, 2025 pm 09:03 PM

您需要修復WordPress中的HTTP圖片上傳錯誤嗎?當您在WordPress中創建內容時,此錯誤可能會特別令人沮喪。當您使用內置WordPress媒體庫將圖像或其他文件上傳到CMS時,通常會發生這種情況。在本文中,我們將向您展示如何輕鬆修復WordPress中的HTTP圖片上傳錯誤。 WordPress媒體上傳過程中出現HTTP錯誤的原因是什麼?當您嘗試使用WordPress媒體上傳器將文件上傳到Wo

如何修復添加媒體按鈕在 WordPress 中不起作用的問題如何修復添加媒體按鈕在 WordPress 中不起作用的問題May 12, 2025 pm 09:00 PM

最近,我們的一位讀者報告說,他們的WordPress網站上的“添加媒體”按鈕突然停止工作。此經典編輯器問題不會顯示任何錯誤或警告,這使用戶不知道為什麼他們的“添加媒體”按鈕不起作用。在本文中,我們將向您展示如何輕鬆修復WordPress中的“添加媒體”按鈕不起作用的問題。是什麼導致WordPress“添加媒體”按鈕停止工作?如果您仍在使用舊的經典WordPress編輯器,那麼“添加媒體”按鈕允許您將圖像、視頻等插入博客文章中。

如何設置、獲取和刪除 WordPress Cookie(像專業人士一樣)如何設置、獲取和刪除 WordPress Cookie(像專業人士一樣)May 12, 2025 pm 08:57 PM

您想了解如何在WordPress網站上使用cookie嗎? Cookie是在用戶瀏覽器中存儲臨時信息的有用工具。您可以使用此信息通過個性化和行為定位來增強用戶體驗。在本終極指南中,我們將向您展示如何像專業人士一樣設置、獲取和刪除WordPresscookie。注意:這是一個高級教程。它要求您精通HTML、CSS、WordPress網站和PHP。什麼是Cookie? Cookie是用戶訪問網站時創建並存儲在用戶瀏覽

如何修復 WordPress 429 請求過多錯誤如何修復 WordPress 429 請求過多錯誤May 12, 2025 pm 08:54 PM

您是否在WordPress網站上看到“429請求過多”錯誤?此錯誤消息意味著用戶向您網站的服務器發送了太多HTTP請求。此錯誤可能會非常令人沮喪,因為很難找出導致該錯誤的原因。在本文中,我們將向您展示如何輕鬆修復“WordPress429TooManyRequests”錯誤。是什麼原因導致WordPress429請求過多錯誤? “429TooManyRequests”錯誤的最常見原因是用戶、機器人或腳本嘗試向網站

WordPress作為大型網站的CMS有多可擴展?WordPress作為大型網站的CMS有多可擴展?May 12, 2025 am 12:08 AM

WordPressCanHandLeLArgeWebsiteswithCareFulplanningAndOptimization.1)USECACHINGTOREDUCESERVERVERLOAD.2)優化YourDataBaseRegularly.3)actimentAcdNtododistibuteContent.4))

See all articles

熱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

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

熱門文章

熱工具

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

記事本++7.3.1

記事本++7.3.1

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