You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用array_filter移除WP_Term数组中name为Staff的项

WordPress中过滤WP_Term数组移除指定name元素的正确方法

你需要移除$tax_terms数组中name属性为'Staff'的WP_Term对象,之前尝试的写法存在两个核心错误:

  1. $tax_terms是数组,不能用->直接访问属性
  2. 错误地把name当成数组取值,实际每个$value是WP_Term对象,name是它的直接属性

正确实现代码

$tax_terms = array_filter($tax_terms, function ($value) {
    // 保留name不等于'Staff'的元素,即移除name为'Staff'的项
    return $value->name !== 'Staff';
});

代码说明

  • array_filter会遍历$tax_terms数组的每一个元素,将每个元素传入回调函数
  • 回调中的$value是单个WP_Term对象,直接通过$value->name获取其名称属性
  • 返回true的元素会被保留,返回false的元素会被过滤掉,因此$value->name !== 'Staff'正好实现移除目标元素的需求

可选:不区分大小写的过滤

如果需要忽略大小写(比如匹配'staff'、'STAFF'等),可以改用strcasecmp函数:

$tax_terms = array_filter($tax_terms, function ($value) {
    // 不区分大小写比较,返回非0值表示不相等,即保留元素
    return strcasecmp($value->name, 'Staff') !== 0;
});

内容的提问来源于stack exchange,提问作者klewis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 08:52:17