twig/wordpress 检查值是否在数组中

twig/wordpress check if value is in array

我正在测试我的 Twig 模板中的数组中是否存在值

<input type="hidden" name="s" value="{{ search_value }}">
  <label>
    <input type="checkbox"  
           name="cat[]" 
           value="3" 
           onchange="this.form.submit()"
           {% if 3 in cat  ? ' checked' : '' %} >
    <span>cbd</span>
  </label>
  {{ cat }}

我的 {{ cat }} 在页面上转储数组,我确定我的问题是一个愚蠢的语法错误。我得到的错误是

致命错误:未捕获异常:模板意外结束。 在....

如果我以这种方式换行,我会得到一个不同的错误

 {% (if 3 in cat)  ? ' checked' : '' %} >
Fatal error: Uncaught Exception: A block must start with a tag name.

使用适当的if:

{% if 3 in cat %}checked{% endif %}

ternary(搜索“三元运算符”):

{{ 3 in cat ? ' checked' : '' }}

或缩短的三元组:

{{ 3 in cat ? ' checked' }}