我试图弄明白为什么wp\\u set\\u object terms会更新给定分类法中的术语,但当我将$terms参数设置为NULL时,它会保留其中一个术语,即ID最低的术语。
我已经修改了一个用于前端编辑帖子的插件-WP User frontend。
以下是我的wp\\u set\\u object\\u terms代码,来自表单中的一组复选框:
if( !empty($_POST[\'wpuf_tax_TAXONOMY\']) ):
$cat_ids = $_POST[\'wpuf_tax_TAXONOMY\'];
$cat_ids = array_map(\'intval\', $cat_ids);
$cat_ids = array_unique( $cat_ids );
wp_set_object_terms( $post_id, $cat_ids, \'TAXONOMY\' );
else:
wp_set_object_terms( $post_id, NULL, \'TAXONOMY\' );
endif;
不知道该怎么办,也不知道为什么在表单中未选择任何术语时它不会删除这些术语。
非常感谢您的帮助。
编辑---------------------------------------------------------------
我注意到wp\\u set\\u object\\u terms确实按预期添加和删除了术语。但是我需要在表单更新后刷新页面以查看更改。
我在成功提交时尝试了wp\\U重定向,但出现了“headers ready sent”错误。是否有一种方法可以在from更新后重新加载页面而不必刷新页面?希望这是有意义的。