A WordPress-centric search engine for devs and theme authors



wp_ajax_get_tagcloud ›

Since3.1.0
Deprecatedn/a
wp_ajax_get_tagcloud ( No parameters )
Defined at:
Codex:

Ajax handler for getting a tagcloud.



Source

function wp_ajax_get_tagcloud() {
	if ( ! isset( $_POST['tax'] ) ) {
		wp_die( 0 );
	}

	$taxonomy = sanitize_key( $_POST['tax'] );
	$tax      = get_taxonomy( $taxonomy );
	if ( ! $tax ) {
		wp_die( 0 );
	}

	if ( ! current_user_can( $tax->cap->assign_terms ) ) {
		wp_die( -1 );
	}

	$tags = get_terms(
		$taxonomy, array(
			'number'  => 45,
			'orderby' => 'count',
			'order'   => 'DESC',
		)
	);

	if ( empty( $tags ) ) {
		wp_die( $tax->labels->not_found );
	}

	if ( is_wp_error( $tags ) ) {
		wp_die( $tags->get_error_message() );
	}

	foreach ( $tags as $key => $tag ) {
		$tags[ $key ]->link = '#';
		$tags[ $key ]->id   = $tag->term_id;
	}

	// We need raw tag names here, so don't filter the output
	$return = wp_generate_tag_cloud(
		$tags, array(
			'filter' => 0,
			'format' => 'list',
		)
	);

	if ( empty( $return ) ) {
		wp_die( 0 );
	}

	echo $return;

	wp_die();
}