Измените его, когда он попадет в WordPress, прямо перед тем, как WP запросит базу данных:
$search_replacements = array(
'find' => 'replace',
'find2' => 'replace2',
'var' => 'foo'
);
function modify_search_term($request_vars) {
global $search_replacements;
if (!empty($request_vars['s']) && !empty($search_replacements[$request_vars['s']])) {
$request_vars['s'] = $search_replacements[$request_vars['s']];
}
return $request_vars;
}
add_filter('request', 'modify_search_term');
Это позволит вам обработать столько условий, сколько вы сможете придумать и добавить в массив $ replacements.
99 в add_filter заставляет его запускаться с опозданием, чтобы вы были последними, кто внес изменения в запрос (может быть важно в зависимости от того, какие другие плагины вы установили).
Ваш URL будет по-прежнему указывать исходный термин, но вы сохраните загрузку страницы. Если у вас сайт с высоким трафиком, вы не хотите перенаправлять, чтобы получить симпатичный URL.