wp_ajax_inline_save_tax() – Ajax handler for quick edit saving for a term.

You appear to be a bot. Output may be restricted

Description

Ajax handler for quick edit saving for a term.

Usage

wp_ajax_inline_save_tax();

Parameters

Returns

void

Source

File name: wordpress/wp-admin/includes/ajax-actions.php
Lines:

1 to 54 of 54
function wp_ajax_inline_save_tax() {
  check_ajax_referer( 'taxinlineeditnonce', '_inline_edit' );

  $taxonomy = sanitize_key( $_POST['taxonomy'] );
  $tax      = get_taxonomy( $taxonomy );

  if ( ! $tax ) {
    wp_die( 0 );
  }

  if ( ! isset( $_POST['tax_ID'] ) || ! (int) $_POST['tax_ID'] ) {
    wp_die( -1 );
  }

  $id = (int) $_POST['tax_ID'];

  if ( ! current_user_can( 'edit_term', $id ) ) {
    wp_die( -1 );
  }

  $wp_list_table = _get_list_table( 'WP_Terms_List_Table', array( 'screen' => 'edit-' . $taxonomy ) );

  $tag                  = get_term( $id, $taxonomy );
  $_POST['description'] = $tag->description;

  $updated = wp_update_term( $id, $taxonomy, $_POST );

  if ( $updated && ! is_wp_error( $updated ) ) {
    $tag = get_term( $updated['term_id'], $taxonomy );
    if ( ! $tag || is_wp_error( $tag ) ) {
      if ( is_wp_error( $tag ) && $tag->get_error_message() ) {
        wp_die( $tag->get_error_message() );
      }
      wp_die( __( 'Item not updated.' ) );
    }
  } else {
    if ( is_wp_error( $updated ) && $updated->get_error_message() ) {
      wp_die( $updated->get_error_message() );
    }
    wp_die( __( 'Item not updated.' ) );
  }

  $level  = 0;
  $parent = $tag->parent;

  while ( $parent > 0 ) {
    $parent_tag = get_term( $parent, $taxonomy );
    $parent     = $parent_tag->parent;
    $level++;
  }

  $wp_list_table->single_row( $tag, $level );
  wp_die();
}
 

 View on GitHub View on Trac