有时候我们想对指定搜索关键词进行更好的结果显示聚合,可能会需要把搜索结果页跳转到指定的归档页面,那么如何实现呢?
下面来写出主要的方法代码:
- function search_jump( $query, $error = true ) {
- if (is_search() && !is_admin()) {
- $jump = 0;$url = ”;
- $epd_game_search = get_option(‘epd_game_search’);
- if($epd_game_search){
- $cnt = count($epd_game_search[‘buy’]);
- for($i=0; $i<$cnt;$i++){
- if( strpos($query->query[‘s’], $epd_game_search[‘buy’][$i]) !== false ){
- $jump = 1;
- $url = $epd_game_search[‘get’][$i];
- break;
- }
- }
- }
- if($jump==1){
- $query->is_search = false;
- $query->query_vars[‘s’] = false;
- $query->query[‘s’] = false;
- if ( $error == true ){
- //$query->is_404 = true;
- echo ‘<HTML><script>location.href="’.$url.‘";</script></html>’;
- exit;
- }
- }
- }
- }
- add_action( ‘parse_query’, ‘search_jump’ );
代码里的$epd_game_search 是一个数组,你预先设定好关键词以及对应跳转地址即可。