WordPress 函数get_term_by()的用法

今天在学习制作WordPress主题的时候,遇到了一个麻烦,具体如下:

我在后台使用cmb2工具创建了一个主题设置项,可选择首页显示的分类,分类下显示的文章数量等等。

但在写循环输出的时候遇到一个问题,后台为了用户方便使用的是勾选分类的形式,存储在数据库中是获取被勾选分类的别名排列成一个数组。

但在循环中需要使用分类的ID去获取分类信息。后来在 许小珂博客 中查到了 get_term_by() 函数。

函数介绍

get_term_by()函数主要用来快速查找某一个分类的名称、别名和id的值,只要提供别名、名称或编号其中一个,就可以获取它其余的信息,省时省力又精确。

函数解析

<?php get_term_by( $field, $value, $taxonomy, $output, $filter ) ?>
  • $field——id、slug、name 必填项
  • $value—-$field的值 必填项
  • $taxonomy—-自定义分类方式的名称 必填项

使用介绍

根据分类名称获取分类名称值为Theme的别名
<?php 
$item = get_term_by('name','Theme','products');
echo $item->slug;
?>

根据id获取id值为21的分类的别名 
<?php 
$item = get_term_by('id','21','products'); 
echo $item->slug; 
?>

根据别名获取别名值为theme的分类名称
<?php 
$item = get_term_by('slug','theme','products');
echo $item->name;
?>

根据id获取id值为21的分类的分类名称
<?php
$item = get_term_by('id','21','products');
echo $item->name;
?>

根据别名获取别名值为theme的分类的id
<?php 
$item = get_term_by('slug','theme','products'); 
echo $item->term_id; 
?>

根据分类名称获取分类名称值为Theme的分类的id
<?php
$item = get_term_by('name','Theme','products');
echo $item->term_id;
?>

以上是函数的介绍和具体使用方法,而我遇到的问题就是用这个函数去解决的,如下

<?php
shop_cat 和shop_num 是获取到后台勾选的分类和填写的文章数量
    $shop_cat = mfisp_index_shop('shop_cat');
    $shop_num = mfisp_index_shop('shop_num');

由于后台勾选的分类是多项的,所以直接遍历将所有获取分类别名都转成分类ID
    $shop_ids = array();
    foreach($shop_cat as $v){
    	$shops = get_term_by('slug', $v, 'servertype');
    	$shop_ids[] = $shops->term_id;
    }

wordpress学习还是很方便,大部分问题都可以在搜索引擎中找到方法去解决,当然了由于也是逐步学习阶段,可能代码写的不是很好很多瑕疵,如有更好的办法欢迎一起讨论。

文章链接: https://www.mfisp.com/2288.html

文章标题:WordPress 函数get_term_by()的用法

文章版权:梦飞科技所发布的内容,部分为原创文章,转载请注明来源,网络转载文章如有侵权请联系我们!

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
建站教程

关于WordPress主题制作的常用函数解析

2021-11-26 15:28:14

建站教程

WordPress优化代码

2021-11-26 16:10:40

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
客户经理
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索

梦飞科技 - 最新云主机促销服务器租用优惠