我试图在一个与自定义帖子创建挂钩的函数中调用wp\\u set\\u object\\u terms(通过wp\\u insert\\u post\\u数据),以便从自定义字段为帖子设置分类标记:
$item_brand = ( ! empty( $_POST[ \'brand\' ] ) ) ? $_POST[ \'brand\' ] : get_post_meta( $postarr[ \'ID\' ], \'brand\', true );
wp_set_object_terms( $postarr[ \'ID\' ], $item_brand, \'brand\', false);
创建或修改帖子时,该函数从自定义字段创建分类术语没有问题,但它不会设置帖子的术语。我的猜测是,处理post ID变量是一个问题,因为我试图在wp\\u set\\u object\\u terms调用中设置静态post ID,而具有静态ID的post被分配了新标记。因此,我尝试这样做来缓解解析当前ID时出现的任何问题:
$post_id = intval ((! empty( $_POST[ \'ID\' ] ) ) ? $_POST[ \'ID\' ] : $postarr[ \'ID\' ]);
wp_set_object_terms( $post_id, $item_brand, \'brand\', false);
但这并没有帮助,我也知道,我成功地获得了上面的帖子ID,因为我在函数中使用它用于其他目的,它只是不适用于wp\\u set\\u object\\u术语。老实说,我不知道在哪里可以进一步了解这一点,如果有任何可能有所帮助的建议,我将不胜感激。