我最近更新了一个WP网站从PHP 7.4到8.1,现在得到一个错误:致命错误:未捕获的类型错误:in_array():参数#2($haystack)必须是数组类型,bool给定令人不快的一行是:
if (in_array($cat->cat_ID, get_sub_field('category'))) {
站点使用ACF,类别子字段的输出为:数组([0] => 1)所以看起来in_array现在认为这是一个布尔值?最好的解决方法是什么?
xwbd5t1u1#
建议将子字段存储到一个变量中,这将允许您在对其执行操作之前测试类型。
$category = get_sub_field( 'category' ); if ( is_array( $category ) && in_array( $cat->cat_ID, $category ) ) { ... }
绝对建议检查子字段的值是在管理中设置的,然后还检查 meta值以确认。
1条答案
按热度按时间xwbd5t1u1#
建议将子字段存储到一个变量中,这将允许您在对其执行操作之前测试类型。
绝对建议检查子字段的值是在管理中设置的,然后还检查 meta值以确认。