6 Jul
2006

Ajaxowe wyszukiwanie i WordPress

Już dość dawno temu znalazłem w sieci artykuł HOWTO: Animated Live Search, w którym autor podaje sposób w jaki można zrobić w swoim WordPress bardzo wygodny i nowoczesny moduł wyszukiwania (przykład – wyszukiwarka na mojej stronie) przy użyciu AJAX. Dopiero teraz miałem czas (i chęci) żeby to zaimplementować u siebie. Na razie sprawdza się to świetnie, więc polecam.

EDIT: Gdyby ktoś chciał wykorzystać moją implementację – zamieszczam pliki z instrukcjami co gdzie wkleić: link tutaj (ZIP, 2KB).

UWAGA: Trzeba oczywiście sobie samodzielnie wyedytować pliki theme’u, a plik general.js wrzucić do katalogu /js, będącego podkatalogiem katalogu WP. Tam też trzeba wrzucić wszystkie pliki z paczki script.aculo.us.

17 Comments

  • Albo u Ciebie nie działa albo sam już nie wiem co :D

  • U mnie działa na Operze 8.52, Firefoxie 1.5.0.4 oraz IE 6.0.

    Może masz JS wyłączony?

  • Włączony jak w mordę strzelił :D Opera 9.0 – tak dla wyjaśnienia…
    hmm… to ja już nie wiem jak to powinno działać :(

  • Na Operze 9.0 też działa jak trzeba.

    Zabawa polega na tym, że wyniki to lista która się wysuwa spod pola tekstowego.

    Sprawdź, czy demo też Ci nie działa:
    http://orderedlist.com/demos/livesearch/

  • Fajnutkie. Ech, gdyby mi się chciało zaimplementować…

  • To nie zajmuje wcale dużo czasu jeśli się wszystko od razu dobrze ustawi. Mnie jedna błędna ścieżka kosztowała jakieś 3h dłubania.

    Ah, jaka szkoda, że sobie PHP & JS nie mogę debugować jak w Visual C#. Jak by to życie ułatwiło…

  • Tyle, że jak wpiszę w Twojej wyszukiwarce np. socjalizm, to pojawia mi się jeden wynik i informacja: “Wyświetlonych wyników: 6.” Coś jest jeszcze nie tak

  • Dzięki, że to zauważyłeś. Źle skonstruowałem to zdanie. 6 to maksymalna ilość wyników jakie mogą się wyświetlić (tyle sobie ustawiłem). Zaraz to poprawię.

  • Całkiem miłe, choć w K2 dostępne już od dawna ;-)
    Przydałby się jakiś link do zamknięcia wyników wyszukiwania / resetowania.

  • Niestety jak się wpisze wyraz z polskimi znakami to nie działa.

  • Słuszna uwaga, muszę to sprawdzić.

  • Ja już chyba wiem, choć jeszcze nie sprawdzałem, ale jeśli Ty możesz to zobacz. Chodzi o jedną linijkę w pliku general.js.
    W funkcji doSearch() teraz jest:

    pars = 's=' + escape(s) + '&ajax';

    a wydaje mi się że powinno być:

    pars = 's=' + s + '&ajax';

    Trzeba sprawdzić czy będzie dobrze.

  • Nie działa w ten sposób. Poza tym czy ta funkcja escape nie odpowiada przypadkiem za kwestię górnych apostrofów (jakaś ochrona przed injection)?

  • Z tym escape to tak nie do końca. Zobacz jak to działa np. tutaj.

    Sam dopiero co zainstalowałem WordPressa, jutro doinstaluje tę modyfikacje i zobaczę jak to poprawić, chyba że Ty coś wcześniej wymyślisz.

  • Wielkie dzieki za udostepnienie paczki z plikami.

    Pozdrawiam

  • U mnie wszystko ok.

  • Poproszę o instrukcję łopatologiczną, bo mi nie wychodzi…

So, what do you think?