AnsPress_Ajax::search_tags()
Description #
Ajax callback for ap_search_tags
. This was called by tags field for fetching tags suggestions.
Source #
File: includes/ajax-hooks.php
public static function search_tags() { $q = ap_sanitize_unslash( 'q', 'r' ); $form = ap_sanitize_unslash( 'form', 'r' ); $field_name = ap_sanitize_unslash( 'field', 'r' ); if ( ! anspress_verify_nonce( 'tags_' . $form . $field_name ) ) { wp_send_json( '{}' ); } // Die if not valid form. if ( ! anspress()->form_exists( $form ) ) { ap_ajax_json( 'something_wrong' ); } $field = anspress()->get_form( $form )->find( $field_name ); // Check if field exists and type is tags. if ( ! is_a( $field, 'AnsPress\Form\Field\Tags' ) ) { ap_ajax_json( 'something_wrong' ); } $taxo = $field->get( 'terms_args.taxonomy' ); $taxo = ! empty( $taxo ) ? $taxo : 'tag'; $terms = get_terms( array( 'taxonomy' => $taxo, 'search' => $q, 'count' => true, 'number' => 20, 'hide_empty' => false, 'orderby' => 'count', ) ); $format = array(); if ( $terms ) { foreach ( $terms as $t ) { $format[] = array( 'term_id' => $t->term_id, 'name' => $t->name, 'description' => $t->description, // translators: %d is question count. 'count' => sprintf( _n( '%d Question', '%d Questions', $t->count, 'anspress-question-answer' ), $t->count ), ); } } wp_send_json( $format ); }
Expand full source code Collapse full source code View on GitHub: includes/ajax-hooks.php:593
Add your comment