解决 (学分将在10分钟内添加。)
我的functions.php(Wordpress)中有一个自定义的帖子类型脚本,我不明白它的含义。
$query_args = array(
'posts_per_page' => 5,
'post_type' => $is_some_page ? CPT_ONE : CPT_TWO,
'post_status' => 'publish',
'paged' => 1
);
脚本加载完美,没有任何问题。
问题:我想添加一个额外的post_type,但我不理解:
符号......它的含义是什么?以及如何添加更多?
这不起作用:
'post_type' => $is_some_page ? CPT_ONE : CPT_TWO : CPT_THREE,
编辑:感谢您查看并更改问题的标签。 非常感谢其他所有人指出我与操作员的正确方向。
答案 0 :(得分:5)
你所看到的是ternary if运算符(很多语言都有这个,包括PHP和Javascript)。
所以这个:
$someVar = $someBool ? $val1 : $ val2
相当于:
if ($someBool)
{
$someVar = $val1;
}
else
{
$someVar = $val2;
}
所以这个:
'post_type' => $is_some_page ? CPT_ONE : CPT_TWO : CPT_THREE
没有意义,因为$is_some_page
只能评估为真或假。但目前尚不清楚你的逻辑应该是什么。在什么情况下,您希望post_type
CPT_ONE
,CPT_TWO
或CPT_THREE
?
你可以这样做:
'post_type' => $is_some_page ? CPT_ONE : ($some_other_condition ? CPT_TWO : CPT_THREE)
相当于if / else if / else