我在一个前端页面上显示了自定义帖子类型的自定义分类列表,其中显示了用户以前选中的所有项目。
我已将其正确显示,但我无法确定如何保存任何新的/更改的选择。
这是我用来显示术语的代码:
$args = array(
\'descendants_and_self\' => 0,
\'selected_cats\' => false,
\'popular_cats\' => false,
\'walker\' => null,
\'taxonomy\' => \'genres\',
\'checked_ontop\' => false
);
wp_terms_checklist( $my_postid, $args );
页面上的输出如下:
<li id=\'genres-28\'><label class="selectit"><input value="28" type="checkbox" name="tax_input[genres][]" id="in-genres-28" checked=\'checked\' /> 2 Step</label></li>
<li id=\'genres-14\'><label class="selectit"><input value="14" type="checkbox" name="tax_input[genres][]" id="in-genres-14" checked=\'checked\' /> Afro House</label></li>
<li id=\'genres-7\'><label class="selectit"><input value="7" type="checkbox" name="tax_input[genres][]" id="in-genres-7" checked=\'checked\' /> Bassline</label></li>
etc...
我正在设置如下post数据:
$post_to_edit = array(
\'ID\' => $my_postid,
\'post_content\' => $_POST[\'editor\'],
\'tax_input\' => array( \'genres\' => array($_POST[\'tax_input[genres]\']) )
);
$pid = wp_update_post($post_to_edit);
然后我尝试更新如下术语:
wp_set_post_terms($pid,(array)$_POST[\'tax_input[genres]\'],\'genres\', true);
我也尝试过:
wp_set_object_terms($pid,(array)($_POST[\'tax_input[genres]\']),\'genres\');
但两者都不起作用?
我猜我没有选择正确的name属性,但在过去的24小时里,我已经尝试了所有我能想到的方法,只是无法将术语保存到数据库中。
有人知道我如何保存/更新wp_terms_checklist
?