我正在尝试使用以下命令:
wp_set_object_terms( $myID, $myissuearray, \'my_issues\', true );
但由于某些原因,它不会接受我的变量数组。
那个阵列,$myissuearray
, 使用error_log(print_r($myissuearray,true))
输出:
Array
(
[0] => 9
[1] => 10
[2] => 77
[3] => 12
)
在我看来,这确实是一个有效的数组。
另一方面,如果我不使用变量,则在命令中手动将issue数组设置为:
wp_set_object_terms( $myID, array(9,10,77,12), \'my_issues\', true );
命令起作用,术语已设置。我对自己做错了什么感到困惑。为什么这个命令不接受我的变量数组??
最合适的回答,由SO网友:Stephen 整理而成
好的,结果证明我的数组是一个字符串数组,它使用var\\u dump(而不是print\\r)显示。然后,我需要将数组转换为int值,我这样做了:
$myissuearrayINT = array_map(\'intval\', $myissuearray);
现在,当我执行以下操作时,它会按预期工作:
wp_set_object_terms( $myID, $myissuearrayINT, \'my_issues\', true );
希望这能帮助其他人。。。