Home Forums Backend Issues (wp-admin) How can I send an additional field during ajax requests? Reply To: How can I send an additional field during ajax requests?

  • Thanks this helped me get to my own solution 🙂

    For anyone in need this is how I solved a scenario where the user first selects a post object (post object field) and then selects a term from a taxonomy field which should only show terms connected to the previously chosen post.

    This works on 5.3.n and the JS is a bit different now so I think you might need to change the JS even for the solution above.


     * Filters the idrott taxonomy dropdown by selected club.
     * @since	1.0.0
    public function filter_idrott_dropdown_admin( $args, $field, $post_id ){
        $club = isset($_REQUEST['club_sport']) ? (int) $_REQUEST['club_sport'] : false;
        if ( !$club ){
    	    return $args;
    	$sports = get_the_terms( $club, 'idrotter' );
    	$sport_ids = array();
    	if( $sports ){
    		foreach( $sports as $sport ){
    			$sport_ids[] = $sport->term_id;
    	if( !empty( $sport_ids ) ){
    		$args['include'] = $sport_ids;
        return $args;


     * Update the ajax arguments for select2 objects to include the chosen club id
     * This is done by replacing the default function with a wrapper, which calls the old function and then appends "club_sport" to the results.
        function( args ) {
            if ( typeof == 'function' ) {
                var old_data_func =; // We'll keep this for maximum compatibility, and extend it.
       = function(term, page) {
                    var default_response = old_data_func( term, page ); // Call the old, default function.
                    default_response.club_sport = $('#acf-field_577e458143db1-input').val();
                    // Return the default args with our club_sport value.
                    return default_response;
            return args;