wp_remove_object_terms()
wp_remove_object_terms( int $object_id, string|int|arra…
wp_remove_object_terms( int $object_id, string|int|array $terms, array|string $taxonomy )
删除与给定对象关联的项。
Remove term(s) associated with a given object.
目录锚点:#参数#源码#笔记
参数(Parameters)
参数 | 类型 | 说明 |
---|---|---|
$object_id | (int) | 将从中删除术语的对象的ID。 |
$terms | (string | int | array) | 要删除的项的段塞或ID。 |
$taxonomy | (array | string) | 分类名称。 |
源码(Source)
/** * Remove term(s) associated with a given object. * * @since 3.6.0 * * @global wpdb $wpdb WordPress database abstraction object. * * @param int $object_id The ID of the object from which the terms will be removed. * @param array|int|string $terms The slug(s) or ID(s) of the term(s) to remove. * @param array|string $taxonomy Taxonomy name. * @return bool|WP_Error True on success, false or WP_Error on failure. */ function wp_remove_object_terms( $object_id, $terms, $taxonomy ) { global $wpdb; $object_id = (int) $object_id; if ( ! taxonomy_exists( $taxonomy ) ) { return new WP_Error( 'invalid_taxonomy', __( 'Invalid Taxonomy' ) ); } if ( ! is_array( $terms ) ) { $terms = array( $terms ); } $tt_ids = array(); foreach ( (array) $terms as $term ) { if ( ! strlen( trim( $term ) ) ) { continue; } if ( ! $term_info = term_exists( $term, $taxonomy ) ) { // Skip if a non-existent term ID is passed. if ( is_int( $term ) ) { continue; } } if ( is_wp_error( $term_info ) ) { return $term_info; } $tt_ids[] = $term_info['term_taxonomy_id']; } if ( $tt_ids ) { $in_tt_ids = "'" . implode( "', '", $tt_ids ) . "'"; /** * Fires immediately before an object-term relationship is deleted. * * @since 2.9.0 * * @param int $object_id Object ID. * @param array $tt_ids An array of term taxonomy IDs. */ do_action( 'delete_term_relationships', $object_id, $tt_ids ); $deleted = $wpdb->query( $wpdb->prepare( "DELETE FROM $wpdb->term_relationships WHERE object_id = %d AND term_taxonomy_id IN ($in_tt_ids)", $object_id ) ); /** * Fires immediately after an object-term relationship is deleted. * * @since 2.9.0 * * @param int $object_id Object ID. * @param array $tt_ids An array of term taxonomy IDs. */ do_action( 'deleted_term_relationships', $object_id, $tt_ids ); wp_update_term_count( $tt_ids, $taxonomy ); return (bool) $deleted; } return false; }
更新版本 | 源码位置 | 使用 | 被使用 |
---|---|---|---|
3.6.0 | wp-includes/taxonomy.php | 15 | 6 |
笔记(Notes)
例子
类别:WordPress 函数手册、
本文收集自互联网,转载请注明来源。
如有侵权,请联系 wper_net@163.com 删除。
还没有任何评论,赶紧来占个楼吧!