wpseek.com
Outil de recherche WordPress pour les développeurs et auteurs de thèmes
wp_ajax_add_tag › WordPress Function
Depuis3.1.0
Dépréciéen/a
› wp_ajax_add_tag ( Pas de paramètres )
Défini(e) dans: |
|
Codex: |
Ajax handler to add a tag.
Fonctions en relation: wp_ajax_add_meta, wp_ajax_delete_tag, wp_ajax_add_user, wp_ajax_add_menu_item, wp_ajax_delete_page
Source
function wp_ajax_add_tag() { check_ajax_referer( 'add-tag', '_wpnonce_add-tag' ); $taxonomy = ! empty( $_POST['taxonomy'] ) ? $_POST['taxonomy'] : 'post_tag'; $tax = get_taxonomy( $taxonomy ); if ( ! current_user_can( $tax->cap->edit_terms ) ) { wp_die( -1 ); } $x = new WP_Ajax_Response(); $tag = wp_insert_term( $_POST['tag-name'], $taxonomy, $_POST ); if ( ! $tag || is_wp_error( $tag ) || ( ! $tag = get_term( $tag['term_id'], $taxonomy ) ) ) { $message = __( 'An error has occurred. Please reload the page and try again.' ); if ( is_wp_error( $tag ) && $tag->get_error_message() ) { $message = $tag->get_error_message(); } $x->add( array( 'what' => 'taxonomy', 'data' => new WP_Error( 'error', $message ), ) ); $x->send(); } $wp_list_table = _get_list_table( 'WP_Terms_List_Table', array( 'screen' => $_POST['screen'] ) ); $level = 0; if ( is_taxonomy_hierarchical( $taxonomy ) ) { $level = count( get_ancestors( $tag->term_id, $taxonomy, 'taxonomy' ) ); ob_start(); $wp_list_table->single_row( $tag, $level ); $noparents = ob_get_clean(); } ob_start(); $wp_list_table->single_row( $tag ); $parents = ob_get_clean(); $x->add( array( 'what' => 'taxonomy', 'supplemental' => compact( 'parents', 'noparents' ), ) ); $x->add( array( 'what' => 'term', 'position' => $level, 'supplemental' => (array) $tag, ) ); $x->send(); }