WP_SET_OBJECT术语不会删除所有术语

时间:2011-09-28 作者:dkmojo

我试图弄明白为什么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更新后重新加载页面而不必刷新页面?希望这是有意义的。

1 个回复
SO网友:dkmojo

我刚才路过$ostid 而不是$postid 进入我的功能。我一更正错别字,问题就解决了。

结束

相关推荐

Get_Terms()多少才是太多?

我正在修改我的一个插件,当我注意到wp_count_terms() 反映的号码与呼叫的号码不同count( get_terms() ) 使用相同的$args传递。我很确定这是WordPress中的一个bug,我将在稍后提交一份trac记录单。我想得到一个可靠的工作解决方案,所以我只打了一个电话给get_terms() 然后使用count() 以获取计数。我的问题是:“有多少条款可以在不拖慢一切的情况下被退回”。在分类法中有很多术语的情况下,可能会出现缩放问题,但有多少术语太多了?1000?10000?只是