У меня есть сайт, состоящий из страниц и сообщений. есть только несколько страниц и тонна сообщений. как я могу установить окно поиска в своих боковых панелях, чтобы искать страницы, только если на странице или поисковые сообщения, только если на моей странице блога? сейчас он смешивает все вместе на моей странице поиска.
было бы еще круче, если бы был способ добавить флажки в поле поиска, чтобы выбрать сообщения или страницы.
благодаря!
Вы можете добавить post_type в конец строки поиска следующим образом:
http://yourdomain.com/?s=search+string&post_type=page
Это работает как шарм:
<form method="get" action="<?php echo home_url();?>"> <input type="text" name="s" /> <label>Search Pages</label> <input type="radio" name="post_type" value="page" /> <label>Search Posts</label> <input type="radio" name="post_type" value="post" /> <button type="submit">Submit</button> </form>
Вы также можете сделать что-то подобное в теге формы (без переключателей) для контекстного поиска:
<?php if(is_page()):?> <input type="hidden" name="post_type" value="page" /> <?php endif;?>
Условные теги: is_page()
или is_archive()
. Также есть is_singular()
, но лучше взгляните на это в Codex.