Užitečné pluginy, návody a šablony pro WordPress CMS

Rozšířené vyhledávání v rubrikách

WordPress sice v základním nastavení žádné rozšířené vyhledávání nemá, ale s pomocí několika chytrých funkcí můžeme tento nedostatek napravit. Zdrojový kód se bude skládat ze dvou částí – vyhledávacího formuláře a speciální šablony pro page, jež realizuje samotné vyhledávání.

Začneme tedy formulářem:

<form action=‚<?php bloginfo( 'url‘ ) ?>/hledej' method=‚post‘> <input type=‚checkbox‘ name=‚povidky‘>Po­vídky <input type=‚checkbox‘ name=‚fejetony‘>Fe­jetony <input type=‚checkbox‘ name=‚drabble‘>Drab­ble <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:

<?php /*Template Name: Hledač*/ ?> <?php $cat = '';foreach($_POST as $key  ⇒ $val){ if($val == ‚on‘) $cat .= $key . ‚,‘; }$the_query = new WP_Query(‚cate­gory_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)); 


Celý příspěvek »

 

OVX.cz 2003 | Přihlásit se
Bez cookies už dnes těžko provozovat plnohodnotný web. Setrváním zde tudíž vyjadřujete souhlas s jejich používáním. Více informací. | Zavřít.