Začneme formulářem:
<form action='<?php bloginfo('url') ?>/hledej' method='post'> <input type='checkbox' name='povidky'>Povídky <input type='checkbox' name='fejetony'>Fejetony <input type='checkbox' name='drabble'>Drabble <input type='submit' value='Hledat'> </form>
Action odkazuje na url, kde bude umístěna vaše speciální vyhledávací stránka. Name u každého checkboxu je také názvem vyhledávané kategorie. Kód pro šablonu stránky vypadá takto:
/* * Template Name: Hledač */ $cat = ''; foreach ($_POST as $key => $val) { if ($val == 'on') $cat .= $key . ','; } $the_query = new WP_Query('category_name=' . $cat); while ($the_query->have_posts()) : $the_query->the_post(); echo '<li>'; the_title(); echo '</li>'; endwhile;
Pokud uživatel zaškrtne políčka Povídky a Drabble, tak se uživatelovi ve výpisu zobrazí články z těchto dvou rubrik. Pokud byste chtěli spíše něco jako filtr, tedy, že se zobrazí příspěvky, které jsou v rubrice Povídky a zároveň Drabble, bude třeba několik částí upravit.
Už v samotném formuláři nemůžete uvádět názvy kategorií, ale jejich id. Změny na vyhledávací stránce vypadají takto:
foreach ($_POST as $key => $val) { if ($val == 'on') $cat[] = $key; } $the_query = new WP_Query(array('category__and' => $cat));