Autor | Zpráva | ||
---|---|---|---|
jakre Profil |
Na webu používám následující funkce zvýrazňující vyhledávaný text v titulku a obsahu vypsaných příspěvků.
function search_title_highlight() { $title = get_the_title(); $keys = implode('|', explode(' ', get_search_query())); $title = preg_replace('/(' . $keys .')/iu', '<strong class="search-highlight">\0</strong>', $title); echo $title; } function search_content_highlight() { $content = get_the_content(); $keys = implode('|', explode(' ', get_search_query())); $content = preg_replace('/(' . $keys .')/iu', '<strong class="search-highlight">\0</strong>', $content); echo '<p>' . $content . '</p>'; } V souboru s výsledky vyhledávání (search.php) pak vypisuji <?php search_title_highlight(); ?> a <?php search_content_highlight(); ?> . Pro třídu search-highlight mám nastavenou žlutou barvu pozadí.
Problém nastavá při vyhledávání textu s diakritikou, kdy Wordpress vypíše i příspěvky obsahující hledaný text bez diakritiky, ale funkce mu třídu nenastaví (zůstane nezvýrazněný). Vhodným řešením je tedy zobrazovat pouze příspěvky s přesnou shodou s vyhledávaným textem (bez diakritiky). Jak toho docílím? Edit: Dodávám ukázku - zobrazí se výsledky pro "stat" i "stát", ale zvýrazní se pouze "stat". Také jsem našel problém s vypsáním příspěvků pro prázdný dotaz a tečku. |
||
Časová prodleva: 9 let
|
0