我有一个基本的管理面板,允许管理员使用复选框保存选项。复选框的使用是因为该选项需要多选
因此,管理选项-复选框1-复选框2-复选框3等
我的复选框是动态生成的,使用
<input type="checkbox" name="firm" id="firm-<?php echo esc_attr( $term->slug ); ?>" value="<?php echo esc_attr( $term->slug ); ?>" <?php checked( true, is_object_in_term( $user->ID, \'firm\', $term ) ); ?> /><input type="checkbox" name="firm" id="firm-<?php echo esc_attr( $term->slug ); ?>" value="<?php echo esc_attr( $term->slug ); ?>" <?php checked( true, is_object_in_term( $user->ID, \'firm\', $term ) ); ?> />
然后,在保存选项时,我尝试使用
wp_set_object_terms( $user_id, array( $term ), \'firm\', false);
但仅保存最后一个术语,而不保存数组(如果选中了多个)
有什么想法吗?
最合适的回答,由SO网友:Stephen Harris 整理而成
将复选框的名称更改为firm
到firm[]
.
然后,当您要保存复选框时
$terms = $_POST[\'firm\'];
将为您提供一系列术语段塞,可以在使用前进行检查/消毒
wp_set_object_terms
要添加术语。。。
wp_set_object_terms( $user_id, $terms, \'firm\', false);