wp_ajax_add_link_category

The timeline below displays how wordpress function wp_ajax_add_link_category has changed across different WordPress versions. If a version is not listed, refer to the next available version below.

WordPress Version: 6.3

/**
 * Handles adding a link category via AJAX.
 *
 * @since 3.1.0
 *
 * @param string $action Action to perform.
 */
function wp_ajax_add_link_category($action)
{
    if (empty($action)) {
        $action = 'add-link-category';
    }
    check_ajax_referer($action);
    $taxonomy_object = get_taxonomy('link_category');
    if (!current_user_can($taxonomy_object->cap->manage_terms)) {
        wp_die(-1);
    }
    $names = explode(',', wp_unslash($_POST['newcat']));
    $x = new WP_Ajax_Response();
    foreach ($names as $cat_name) {
        $cat_name = trim($cat_name);
        $slug = sanitize_title($cat_name);
        if ('' === $slug) {
            continue;
        }
        $cat_id = wp_insert_term($cat_name, 'link_category');
        if (!$cat_id || is_wp_error($cat_id)) {
            continue;
        } else {
            $cat_id = $cat_id['term_id'];
        }
        $cat_name = esc_html($cat_name);
        $x->add(array('what' => 'link-category', 'id' => $cat_id, 'data' => "<li id='link-category-{$cat_id}'><label for='in-link-category-{$cat_id}' class='selectit'><input value='" . esc_attr($cat_id) . "' type='checkbox' checked='checked' name='link_category[]' id='in-link-category-{$cat_id}'/> {$cat_name}</label></li>", 'position' => -1));
    }
    $x->send();
}

WordPress Version: 6.1

/**
 * Ajax handler for adding a link category.
 *
 * @since 3.1.0
 *
 * @param string $action Action to perform.
 */
function wp_ajax_add_link_category($action)
{
    if (empty($action)) {
        $action = 'add-link-category';
    }
    check_ajax_referer($action);
    $taxonomy_object = get_taxonomy('link_category');
    if (!current_user_can($taxonomy_object->cap->manage_terms)) {
        wp_die(-1);
    }
    $names = explode(',', wp_unslash($_POST['newcat']));
    $x = new WP_Ajax_Response();
    foreach ($names as $cat_name) {
        $cat_name = trim($cat_name);
        $slug = sanitize_title($cat_name);
        if ('' === $slug) {
            continue;
        }
        $cat_id = wp_insert_term($cat_name, 'link_category');
        if (!$cat_id || is_wp_error($cat_id)) {
            continue;
        } else {
            $cat_id = $cat_id['term_id'];
        }
        $cat_name = esc_html($cat_name);
        $x->add(array('what' => 'link-category', 'id' => $cat_id, 'data' => "<li id='link-category-{$cat_id}'><label for='in-link-category-{$cat_id}' class='selectit'><input value='" . esc_attr($cat_id) . "' type='checkbox' checked='checked' name='link_category[]' id='in-link-category-{$cat_id}'/> {$cat_name}</label></li>", 'position' => -1));
    }
    $x->send();
}

WordPress Version: 4.8

/**
 * Ajax handler for adding a link category.
 *
 * @since 3.1.0
 *
 * @param string $action Action to perform.
 */
function wp_ajax_add_link_category($action)
{
    if (empty($action)) {
        $action = 'add-link-category';
    }
    check_ajax_referer($action);
    $tax = get_taxonomy('link_category');
    if (!current_user_can($tax->cap->manage_terms)) {
        wp_die(-1);
    }
    $names = explode(',', wp_unslash($_POST['newcat']));
    $x = new WP_Ajax_Response();
    foreach ($names as $cat_name) {
        $cat_name = trim($cat_name);
        $slug = sanitize_title($cat_name);
        if ('' === $slug) {
            continue;
        }
        $cat_id = wp_insert_term($cat_name, 'link_category');
        if (!$cat_id || is_wp_error($cat_id)) {
            continue;
        } else {
            $cat_id = $cat_id['term_id'];
        }
        $cat_name = esc_html($cat_name);
        $x->add(array('what' => 'link-category', 'id' => $cat_id, 'data' => "<li id='link-category-{$cat_id}'><label for='in-link-category-{$cat_id}' class='selectit'><input value='" . esc_attr($cat_id) . "' type='checkbox' checked='checked' name='link_category[]' id='in-link-category-{$cat_id}'/> {$cat_name}</label></li>", 'position' => -1));
    }
    $x->send();
}

WordPress Version: 4.7

/**
 * Ajax handler for adding a link category.
 *
 * @since 3.1.0
 *
 * @param string $action Action to perform.
 */
function wp_ajax_add_link_category($action)
{
    if (empty($action)) {
        $action = 'add-link-category';
    }
    check_ajax_referer($action);
    $tax = get_taxonomy('link_category');
    if (!current_user_can($tax->cap->manage_terms)) {
        wp_die(-1);
    }
    $names = explode(',', wp_unslash($_POST['newcat']));
    $x = new WP_Ajax_Response();
    foreach ($names as $cat_name) {
        $cat_name = trim($cat_name);
        $slug = sanitize_title($cat_name);
        if ('' === $slug) {
            continue;
        }
        if (!$cat_id = term_exists($cat_name, 'link_category')) {
            $cat_id = wp_insert_term($cat_name, 'link_category');
        }
        if (is_wp_error($cat_id)) {
            continue;
        } elseif (is_array($cat_id)) {
            $cat_id = $cat_id['term_id'];
        }
        $cat_name = esc_html($cat_name);
        $x->add(array('what' => 'link-category', 'id' => $cat_id, 'data' => "<li id='link-category-{$cat_id}'><label for='in-link-category-{$cat_id}' class='selectit'><input value='" . esc_attr($cat_id) . "' type='checkbox' checked='checked' name='link_category[]' id='in-link-category-{$cat_id}'/> {$cat_name}</label></li>", 'position' => -1));
    }
    $x->send();
}

WordPress Version: 4.2

/**
 * Ajax handler for deleting a link category.
 *
 * @since 3.1.0
 *
 * @param string $action Action to perform.
 */
function wp_ajax_add_link_category($action)
{
    if (empty($action)) {
        $action = 'add-link-category';
    }
    check_ajax_referer($action);
    if (!current_user_can('manage_categories')) {
        wp_die(-1);
    }
    $names = explode(',', wp_unslash($_POST['newcat']));
    $x = new WP_Ajax_Response();
    foreach ($names as $cat_name) {
        $cat_name = trim($cat_name);
        $slug = sanitize_title($cat_name);
        if ('' === $slug) {
            continue;
        }
        if (!$cat_id = term_exists($cat_name, 'link_category')) {
            $cat_id = wp_insert_term($cat_name, 'link_category');
        }
        if (is_wp_error($cat_id)) {
            continue;
        } elseif (is_array($cat_id)) {
            $cat_id = $cat_id['term_id'];
        }
        $cat_name = esc_html($cat_name);
        $x->add(array('what' => 'link-category', 'id' => $cat_id, 'data' => "<li id='link-category-{$cat_id}'><label for='in-link-category-{$cat_id}' class='selectit'><input value='" . esc_attr($cat_id) . "' type='checkbox' checked='checked' name='link_category[]' id='in-link-category-{$cat_id}'/> {$cat_name}</label></li>", 'position' => -1));
    }
    $x->send();
}

WordPress Version: 4.0

/**
 * Ajax handler for deleting a link category.
 *
 * @since 3.1.0
 *
 * @param string $action Action to perform.
 */
function wp_ajax_add_link_category($action)
{
    if (empty($action)) {
        $action = 'add-link-category';
    }
    check_ajax_referer($action);
    if (!current_user_can('manage_categories')) {
        wp_die(-1);
    }
    $names = explode(',', wp_unslash($_POST['newcat']));
    $x = new WP_Ajax_Response();
    foreach ($names as $cat_name) {
        $cat_name = trim($cat_name);
        $slug = sanitize_title($cat_name);
        if ('' === $slug) {
            continue;
        }
        if (!$cat_id = term_exists($cat_name, 'link_category')) {
            $cat_id = wp_insert_term($cat_name, 'link_category');
        }
        if (is_wp_error($cat_id)) {
            continue;
        } else if (is_array($cat_id)) {
            $cat_id = $cat_id['term_id'];
        }
        $cat_name = esc_html($cat_name);
        $x->add(array('what' => 'link-category', 'id' => $cat_id, 'data' => "<li id='link-category-{$cat_id}'><label for='in-link-category-{$cat_id}' class='selectit'><input value='" . esc_attr($cat_id) . "' type='checkbox' checked='checked' name='link_category[]' id='in-link-category-{$cat_id}'/> {$cat_name}</label></li>", 'position' => -1));
    }
    $x->send();
}

WordPress Version: 3.7

function wp_ajax_add_link_category($action)
{
    if (empty($action)) {
        $action = 'add-link-category';
    }
    check_ajax_referer($action);
    if (!current_user_can('manage_categories')) {
        wp_die(-1);
    }
    $names = explode(',', wp_unslash($_POST['newcat']));
    $x = new WP_Ajax_Response();
    foreach ($names as $cat_name) {
        $cat_name = trim($cat_name);
        $slug = sanitize_title($cat_name);
        if ('' === $slug) {
            continue;
        }
        if (!$cat_id = term_exists($cat_name, 'link_category')) {
            $cat_id = wp_insert_term($cat_name, 'link_category');
        }
        if (is_wp_error($cat_id)) {
            continue;
        } else if (is_array($cat_id)) {
            $cat_id = $cat_id['term_id'];
        }
        $cat_name = esc_html($cat_name);
        $x->add(array('what' => 'link-category', 'id' => $cat_id, 'data' => "<li id='link-category-{$cat_id}'><label for='in-link-category-{$cat_id}' class='selectit'><input value='" . esc_attr($cat_id) . "' type='checkbox' checked='checked' name='link_category[]' id='in-link-category-{$cat_id}'/> {$cat_name}</label></li>", 'position' => -1));
    }
    $x->send();
}