WordPress.org

Make WordPress Core

Ticket #22293: 22293.2.diff

File 22293.2.diff, 1.8 KB (added by SergeyBiryukov, 3 years ago)
  • src/wp-includes/taxonomy.php

     
    23392339
    23402340        $slug = wp_unique_term_slug( $slug, (object) $args );
    23412341
    2342         if ( false === $wpdb->insert( $wpdb->terms, compact( 'name', 'slug', 'term_group' ) ) ) {
     2342        $data = compact( 'name', 'slug', 'term_group' );
     2343
     2344        /**
     2345         * Filters term data before it is inserted into the database.
     2346         *
     2347         * @since 4.7.0
     2348         *
     2349         * @param array  $data     Term data to be inserted.
     2350         * @param string $taxonomy Taxonomy slug.
     2351         * @param array  $args     Arguments passed to wp_insert_term().
     2352         */
     2353        $data = apply_filters( 'wp_insert_term_data', $data, $taxonomy, $args );
     2354
     2355        if ( false === $wpdb->insert( $wpdb->terms, $data ) ) {
    23432356                return new WP_Error( 'db_insert_error', __( 'Could not insert term into the database' ), $wpdb->last_error );
    23442357        }
    23452358
     
    29242937         * @param string $taxonomy Taxonomy slug.
    29252938         */
    29262939        do_action( 'edit_terms', $term_id, $taxonomy );
    2927         $wpdb->update($wpdb->terms, compact( 'name', 'slug', 'term_group' ), compact( 'term_id' ) );
     2940
     2941        $data = compact( 'name', 'slug', 'term_group' );
     2942
     2943        /**
     2944         * Filters term data before it is updated in the database.
     2945         *
     2946         * @since 4.7.0
     2947         *
     2948         * @param array  $data     Term data to be updated.
     2949         * @param int    $term_id  Term ID.
     2950         * @param string $taxonomy Taxonomy slug.
     2951         * @param array  $args     Arguments passed to wp_update_term().
     2952         */
     2953        $data = apply_filters( 'wp_update_term_data', $data, $term_id, $taxonomy, $args );
     2954
     2955        $wpdb->update( $wpdb->terms, $data, compact( 'term_id' ) );
    29282956        if ( empty($slug) ) {
    29292957                $slug = sanitize_title($name, $term_id);
    29302958                $wpdb->update( $wpdb->terms, compact( 'slug' ), compact( 'term_id' ) );