搜索
首页CMS教程WordPressWordPress术语元和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,000pluginsallowuserstalostailortheortheortheortheirsiteirsiteforseo,e-Commerce和security.2)pluginScaneCanextendCorefeatures,likeaddingcustostostposttypes.3 bullycanc.3)

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)actizeyourdatabaseregularly.3)ackdntododistibutecontent.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是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器