# How to change the results URL to something else?

[What is this, and where do I put this custom code?](/safe-coding-guideline.md)

### Replacing with a static URL

```php
add_filter( 'asp_results', function ( $results, $search_id, $is_ajax, $args ) {
	// Replaces each result URL with this
	$replace_with = 'https://google.com';

	// --- DO NOT CHANGE ANYTHING BELOW ---
	foreach ($results as $k=>$r) {
		// Ajax results link
		if ( isset($r->link) ) {
			$r->link = $replace_with;
		}
	}

	return $results;
}, 10, 4 );
```

### Replacing multiple different URLs within the results

Enter the values to the **$replace** variable on line 7. On each line, the left side is the value to replace, with the value on the right side.

```php
add_filter( 'asp_results', function ( $results, $search_id, $is_ajax, $args ) {
	// Array of original -> replacement links
	$replace = array(
		'websiteurl1.com' => 'google.com',
		'websiteurl2.com' => 'wikipedia.com',
		'websiteurl3.com' => 'bing.com'
	);

	// --- DO NOT CHANGE ANYTHING BELOW ---
	foreach ($results as $k=>&$r) {
		$link = $r->link ?? (isset($r->asp_guid) ? $r->asp_guid : '');
		if ( $link == '' )
			continue;
		$link = str_replace(array_keys($replace), array_values($replace), $link);

		// Ajax results link
		if ( isset($r->link) ) {
			$r->link = $link;
		}
	}

	return $results;
}, 10, 4 );
```

## Parsing the url from post meta

[What is this, and where do I put this custom code?](/safe-coding-guideline.md)

```php
add_filter( 'asp_results', function ( $results, $search_id, $is_ajax, $args ) {
	// Change this variable to whatever meta key you are using
	$meta_key = 'custom_url';

	// --- DO NOT CHANGE ANYTHING BELOW ---
	foreach ($results as $k=>$r) {
		if ( function_exists('get_field') ) {
			$new_url = get_field( $meta_key, $r->id, true ); // ACF support
		} else {
			$new_url = get_post_meta( $r->id, $meta_key, true );
		}
		
		// Change only, if the meta is specified
		if ( !empty($new_url) ) {
			// Ajax results link
			if ( isset($r->link) ) {
				$r->link = $new_url;
			}
		}
	}

	return $results;
}, 10, 4 );
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://knowledgebase.ajaxsearchpro.com/miscellaneous/other/how-to-change-the-results-url-to-something-else.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
