Function Reference: geodir_imex_update_term

Summary

Update the post term.

Package

GeoDirectory

Parameters

$taxonomy
(string) (required) Post taxonomy.

Default: None
$term_data
(array) (required) {
Attributes of term data. @type string $term_id Term ID. @type string $name Term name. @type string $slug Term slug. @type string $description Term description. @type string $top_description Term top description. @type string $image Default Term image. @type string $icon Default Term icon. @type string $taxonomy Term taxonomy. @type int $parent Term parent ID. }.

Default: None

Return Values

(int|bool)
  • Term id when success, false when fail.

Change Log

Since: 1.4.6

Source File

geodir_imex_update_term() is located in geodirectory-admin/admin_functions.php [Line: 4981]

Source Code

function geodir_imex_update_term( $taxonomy, $term_data ) {
	if ( empty( $taxonomy ) || empty( $term_data ) ) {
		return false;
	}
	
	$term_id = isset( $term_data['term_id'] ) && !empty( $term_data['term_id'] ) ? $term_data['term_id'] : 0;
	
	$args = array();
	$args['description'] = isset( $term_data['description'] ) ? $term_data['description'] : '';
	$args['slug'] = isset( $term_data['slug'] ) ? $term_data['slug'] : '';
	$args['parent'] = isset( $term_data['parent'] ) ? (int)$term_data['parent'] : '';
	
	if ( $term_id > 0 && $term_info = (array)get_term( $term_id, $taxonomy ) ) {
		$term_data['term_id'] = $term_info['term_id'];
		
		$result = wp_update_term( $term_data['term_id'], $taxonomy, $term_data );
		
		if( !is_wp_error( $result ) ) {
            return isset( $result['term_id'] ) ? $result['term_id'] : 0;
        }
	} else if ( $term_data['slug'] != '' && $term_info = (array)term_exists( $term_data['slug'], $taxonomy ) ) {
		$term_data['term_id'] = $term_info['term_id'];
		
		$result = wp_update_term( $term_data['term_id'], $taxonomy, $term_data );
		
		if( !is_wp_error( $result ) ) {
            return isset( $result['term_id'] ) ? $result['term_id'] : 0;
        }
	} else {
		return geodir_imex_insert_term( $taxonomy, $term_data );
	}
	
	return false;
}