✅ Nowości, motywy, wtyczki WEB i WordPress. Tutaj dzielimy się wskazówkami i najlepszymi rozwiązaniami dla stron internetowych.

Wyszukaj metadane postów w obszarze administracyjnym WordPress

7

Po dłuższym czasie pracy z WordPressem prawdopodobnie w pewnym stopniu pracowałeś z metadanymi posta. Być może po prostu czytałeś metadane z bazy danych, a może zarówno zapisywałeś, jak i czytałeś z tabeli bazy danych.

Może to być naprawdę potężny interfejs API, gdy potrzebujesz powiązać określone informacje z twoimi postami (lub, jeśli jesteś jeszcze bardziej abstrakcyjny, z twoimi modelami).

To powiedziawszy, co się dzieje, gdy chcesz uwzględnić informacje z tabeli metadanych, ale nie masz wygody wtyczek, takich jak SearchWP lub Relevanssi?

Ponadto załóżmy, że przypadek użycia dotyczy tylko administratorów i dotyczy tylko obszaru administracyjnego WordPress. Oznacza to, że chcesz przeszukiwać swoje posty z poziomu ekranu Wszystkie posty, ale chcesz również uwzględnić metadane postów w kryteriach wyszukiwania.

Co wtedy?

Wyszukaj metadane posta

Po wyjęciu z pudełka, za każdym razem, gdy szukasz postów w obszarze administracyjnym WordPress, wyszuka on frazę w tytule posta, fragmencie posta i treści posta, a następnie zwróci te wyniki.

Aby więc rozszerzyć wyszukiwanie o metadane wpisu, musimy zaktualizować uruchomione zapytanie tak, aby zawierało tabele metadanych wpisu. Ale jest w tym coś więcej. W szczególności, aby uzyskać największą elastyczność i najlepsze wrażenia użytkownika, będziesz chciał:

  • wstawiaj fragmenty frazy, aby nie szukało czegoś dosłownie w artykule,
  • i oczywiście prawidłowo obsłużyć przypadek, w którym nie wprowadzono żadnego hasła wyszukiwania, aby ekran Wszystkie posty nadal mógł być wyświetlany w standardowym formacie.

Oznacza to, że nie tylko musimy zmodyfikować zapytanie wyszukiwania, aby zawierało klucz meta i wartość meta, ale także musimy odpowiednio zmienić znaczenie całych fraz, aby móc użyć LIKEoperacji zamiast INoperacji lub =operacji.

Wyszukaj metadane postów w obszarze administracyjnym WordPress

Niektóre z rzeczy, które warto wiedzieć przed przeczytaniem reszty tego artykułu, to:

Ostatecznie będziemy potrzebować dwóch hooków z dwoma niestandardowymi funkcjami. A ponieważ nie mogę podać pełnego przykładu tego, jak to może wyglądać w twoim przypadku użycia, kod musi być nieco uogólniony.

Podłączanie do wyszukiwania

W poniższym skrócie zobaczysz trzy rzeczy:

  1. Weryfikacja, że ​​użytkownik znajduje się w obszarze administracyjnym i znajduje się na stronie edycji.
  2. Użytkownik wprowadził wyszukiwanie.
  3. Wyszukiwana fraza została przekonwertowana na tablicę, zmieniona i dodana do właściwości meta zapytania wystąpienia WP_Query.

Zobacz poniżej :

Zakładając, że wszystkie powyższe są prawdziwe, spowoduje to zaktualizowanie zapytania uruchomionego w bazie danych WordPress przed wyrenderowaniem następnej strony, tak aby wyniki zawierały informacje o metadanych.

Aktualizacja klauzuli WHERE

Zanim jednak skończymy, musimy również upewnić się, że zaktualizowaliśmy uruchomione zapytanie.

Domyślnie zapytanie jest budowane przy użyciu ANDoperacji, co uniemożliwia nam poprawne przeglądanie tytułów postów, fragmentów, treści i metadanych; jednak zapytanie musi zostać zaktualizowane, aby używało ORoperacji.

Dosłownie oznacza to, że będzie wyglądać w tytule, treści, fragmencie lub metadanych.

Zdecydowałem się użyć wyrażenia regularnego w mojej implementacji, ale Twoja implementacja może działać z zastępowaniem podciągów. W związku z tym jest trochę skomentowane, aby zapewnić największą elastyczność.

To aktualizuje WHEREklauzulę, która jest uruchamiana w celu zakończenia pracy ustawionej w początkowej części artykułu, w której dodajemy metadane.

Są inne sposoby

Zwróć uwagę, że istnieje kilka niezwykle elastycznych sposobów pracy z WP_Query, aby uzyskać potrzebne wyniki. Twoja implementacja będzie się różnić w zależności od tego, co robisz.

Rozważ więc ten jeden z wielu sposobów, które można wykorzystać; wiedz jednak, że jeśli masz:

  1. jeden klucz,
  2. wartość (lub wartość, którą można podzielić na tablicę),
  3. i chcesz wyszukiwać metadane obok tradycyjnej treści postu

Wtedy to zadziała.

Źródło nagrywania: tommcfarlin.com

Ta strona korzysta z plików cookie, aby poprawić Twoje wrażenia. Zakładamy, że nie masz nic przeciwko, ale możesz zrezygnować, jeśli chcesz. Akceptuję Więcej szczegółów