Поиск объявлений с файлами, картинки и др

Задача найти объявления у которых загружен файл № 0 (первый), более конкретнее на сайте виртуальные туры 3D была поставлена задача искать виртуальные туры у которых загружен 3d флеш тур. 3D тур этот файл идет под номером 0 самым первым то есть.
Для начала нам надо модернизировать виджет поиска который идет в комплекте с плагином открываем файл ads_widgets.php, здесь мы ничего менять не будем просто копируем код виджета и вставляем этот код в ads_config.php, меняем Ads_Search_Form на свое название например Ads_3d_Search сохраняем код. Открываем админку WP у нас должен появится новый виджет Ads_3d_Search, добавляем этот виджет в сайд бар, теперь можно спокойно работать с новым виджетом дабы не трогать оригинальные файлы плагина. В новом виджете я немного изменил порядок полей поиска и добавил новый чекбокс только 3d:
окончательный код виджета:

Пол дела уже сделано, теперь надо научить WP обрабатывать переменную only_3d, для этого нам придется копнуть поглубже и воcпользоваться api WordPRess.
Мы подключим свой фильтр который будет изменять основной SQL запрос к БД. Фильтр этот называться posts_request.
НЕ буду утомлять сложностями SQL приведу готовый код который надо также воткнуть в файл ads_config.php:

Вот теперь у нас будут файлы у которых загружен файл с номером 0 порядковым (первый) и у тип (mime type) файлов должен быть image пример только 3D туры.

Если нам надо искать записи у которых загружен не первый файл, а второй то меняем AND image.menu_order = 1.
Если тип файла не картинка, а что-то другое скажем там видео файл меняем AND image.post_mime_type like ‘video%’, если проверка типа файла не нужна то просто удалить условие AND image.post_mime_type like ‘image%’

SQL код который мы получаем на выходе фильтра:

Комментарии 11 к “Поиск объявлений с файлами, картинки и др”

  1. Юрий:

    День добрый! Подскажите,если возможно. Как ввести поле ,по аналогии “prise” , обьем двигателя (between) . Спасибо за ответ !

  2. Юрий:

    Подскажите назначение виджета «Ads_Classfields».Виджет «Ads_Recent_Ads»

  3. Юрий:

    Еще раз день добрый! Чтобы создалось произвольное поле , в последующем возможное для поиска, в форму надо вводить [ads_input name="ads_obiem" type="text" /] ( обьем двигателя)

  4. Юрий:

    Если ввел новое поле [ads_input name="ads_obiem" type="text" /], для поиска в виджете,надо ли добавлять фильтр ,как указано у Вас?

  5. Христофор:

    Доброго дня!
    Скажіть будьласка в мене не має такого файлу ads_config.phр а натомість є ads_config.php_
    Скажімо якщо я перейменюю його то це буде виходом з моложення? Чи зміниться в мене щось в налаштуваннях на ДО? Дякую за відповідь!

  6. Игорь:

    Здравствуйте! подскажите пожалуйста как установить форму поиска не в виджете, а в горизонтально на главной статической странице?

    • admin:

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

      CAT_GEO и CAT_CATALOG это константы определенные в ads_config.php можно туда просто ID категорий подставить

      и далее втыкаем эту форму куда нам надо
      в шаблон category.php, archive.php, index.php ну или сразу в header.php конкретно от темы зависит и заказчика

  7. Добрый день! скажите у меня ошибка с поиском, у меня заместо вывода списка объявления выдаются теги в как текст, какая функция отвечает за вывод поиска

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url=""> [php]…[/php] [html]…[/html] [css]…[/css] [text]…[/text] [code]…[/code]