dongwuli5105 2016-01-20 18:24
浏览 61

In_array不能使用$ term_id

I am making a code that grab a url part, take values and then set on list.

Problem is on list

if (in_array($term->term_id, $regions)) {
    $selected_region = 'selected';
}
else {
$selected_region = 'not';
}

This code does work, always return not.

if ($term->term_id == 2) {
$selected_region = 'varbut?';
}

This work.

$regions is variable and return this:

array(2) { [0]=> string(2) "17" [1]=> string(1) "2" } 

Where is the problem to use $term_id?

$term_id with var_dump returns int(17) int(2)

On other pages, single page with only one term is working and code is this:

    <?php 
    $id = get_the_ID();
    $postterms = wp_get_post_terms($id, 'destinations');   // get post terms
    $parentId = $postterms[0]->term_id;   // get parent term ID
    ?>
    <?php if (!in_array($parentId, $regions)): ?>

Why is not working on that selected function? int and string values?

Here is a full term get code:

$custom_terms = get_terms(array($taxonomies), $args);
foreach($custom_terms as $term){
    if (in_array($term->term_id, $regions)) {
        $selected_region = 'selected';
    }
    else {
        $selected_region = 'not';
    }
    if ($term->term_id == 2) {
        $selected_region = 'varbut?';
    }
    echo $selected_region;

    var_dump($term->term_id);

}

}

  • 写回答

1条回答 默认 最新

  • dongwo6477 2016-01-20 19:32
    关注

    It's like you said;

    $regions : array(2) { [0]=> string(2) "17" [1]=> string(1) "2" } 
    $term->term_id : int(2)
    

    How about converting your $regions to ints?

    评论

报告相同问题?

悬赏问题

  • ¥100 iOS开发关于快捷指令截屏后如何将截屏(或从截屏中提取出的文本)回传给本应用并打开指定页面
  • ¥15 unity连接Sqlserver
  • ¥15 图中这种约束条件lingo该怎么表示出来
  • ¥15 VSCode里的Prettier如何实现等式赋值后的对齐效果?
  • ¥15 流式socket文件传输答疑
  • ¥20 keepalive配置业务服务双机单活的方法。业务服务一定是要双机单活的方式
  • ¥50 关于多次提交POST数据后,无法获取到POST数据参数的问题
  • ¥15 win10,这种情况怎么办
  • ¥15 如何在配置使用Prettier的VSCode中通过Better Align插件来对齐等式?(相关搜索:格式化)
  • ¥100 在连接内网VPN时,如何同时保持互联网连接