Поисковые запросы WordPress - PullRequest
       3

Поисковые запросы WordPress

1 голос
/ 17 сентября 2010

Я добавил на свой сайт WordPress 3.1 следующий код внизу моего файла sidebar.php:

    <div id="search_box">
      <form id="searchform" action="http://www.service.com/" method="get" role="search">
          <input id="s" type="text" name="s" class="search" value="Search site" size="19" maxlength="80" id="white_box" onfocus="if (this.value=='Search site') this.value = ''"/>
          <input id="searchsubmit" type="image" class="submit" value="submit" src="<?php bloginfo( 'template_url' ); ?>/images/search_btn.jpg" />
      </form>
    </div>

Поскольку я сам кодировал этот процесс поиска, когда я помещаю какой-то текст вмое текстовое поле поиска и нажмите кнопку «Поиск», похоже, он вызывает страницу search.php в моей теме и отображает результаты.

Вопросы:

1) где/ как он узнает, когда я нажимаю кнопку «Поиск», чтобы выйти и вызвать search.php?

2) только если это возможно, как я могу изменить его, чтобы он вызывал другой файл php вместо поиска.php

Спасибо.

Ответы [ 3 ]

1 голос
/ 10 августа 2012

Использовать шаблон фильтра

add_filter( 'template_include', 'template_include', 10 );

и измените шаблон как

function template_include($template)
{

    if(your condition here){
        $template = get_template_directory().'/your-template.php';
    }

    return $template;
}
0 голосов
/ 19 сентября 2010
  1. Wordpress предполагает, что запрос является поиском, если он видит переменную GET 's'.

  2. Вы можете подключиться к действию template_redirect (в файле functions.php вашей темы) и загрузить другой шаблон, например, так:

    add_action('template_redirect', 'my_template_select');
    function my_template_select() {
      if (is_search()) {
        load_template(TEMPLATEPATH . '/foobar.php');
        exit;
      } 
    }
    
0 голосов
/ 17 сентября 2010

-1. Все запросы на сайт WP направляются на одну страницу, которая направляет их на основе определенных критериев. Таким образом, когда поиск выполняется, он знает, что это поиск, и направляет его на страницу search.php.

В частности, он идет в index.php, который загружает wp-blog-header.php.

-2: все, что вам нужно знать, должно быть здесь: http://codex.wordpress.org/Creating_a_Search_Page#Using_the_page.php

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...