wp_get_post_terms( $post_id, $taxonomy, $args )
要求第三个参数是参数数组。
参数
$post\\U id(整数)(可选)post id默认值:0
$分类法(字符串|数组)(可选)要检索术语的分类法。默认为post\\u标记。默认值:“post\\u标记”
$args(array)(可选)覆盖默认值默认值:array
我猜是这样的$old_term
正在设置为wp_get_post_terms
WP\\U错误的响应。所以当你检查它时,它总是正确的。
回答
(array | WP\\u Error)分类术语数组,如果未找到术语,则为空数组。如果$taxonomy不存在,则出现WP\\U错误。有关详细信息,请参阅is\\u wp\\u error()。
您可以通过以下方式验证响应是否良好:
if( is_array( $old_term ) && ! empty( $old_term ) ) {
//do stuff
}
如果你在尝试,请确保帖子中有分类术语
building_reservations
根据
event_category
, 或许类似的方法会奏效:
$old_term = wp_get_post_terms( $post_id, $em_taxonomy );
if( is_array( $old_term ) && ! empty( $old_term ) ) {
if ( in_array( \'building_reservations\', $old_term ) {
wp_set_post_categories( $post_id, $new_category, $append = true );
}
}