Zbuduj sekcję „Najpopularniejsze posty” w programie Oxygen Builder — samouczek

Opublikowany: 2022-06-22

W tym artykule i samouczku wideo zamierzamy zbudować sekcję popularnych/popularnych postów w Oxygen Builder przy użyciu elementu repeatera, wtyczki WordPress Popular Posts oraz zaawansowanych zapytań.

Jednym z pierwszych samouczków, które opublikowaliśmy na tym blogu, związanych z Oxygenem, było tworzenie popularnej sekcji postów. Teraz, w 2022 roku, powrócimy do tego tematu, korzystając z najnowszych metod i najlepszych wtyczek do pracy.

Nasza agencja pracuje nad wieloma serwisami informacyjnymi i dużymi treściami. Stałym wymogiem tego typu witryn jest możliwość wyświetlania popularnych i popularnych postów. Mechanizm, z którego korzysta każdy z tych widżetów, jest taki sam - najpierw musimy zrozumieć, ile wyświetleń uzyskuje dany post, a następnie możemy na podstawie tego wykonać zapytanie.

logo-tlen-builder

Kurs Oxygen Builder – już wkrótce!

Kurs Oxygen Builder Mastery przeniesie Cię od początkującego do profesjonalnego - w tym moduły ACF, MetaBox i WooCommerce.

Uzyskaj powiadomienie o uruchomieniu i zniżkę

Popularne posty zazwyczaj uwzględniają ogólną liczbę wyświetleń postów w długim okresie czasu. Na przykład możemy pokazać najpopularniejsze posty na blogu lub najpopularniejsze posty z określonego roku.

Posty zyskujące popularność dotyczą ogólnej liczby wyświetleń w krótszym czasie, zwykle w ciągu dnia lub tygodnia. Na przykład, jeśli jeden post uzyskał 100 wyświetleń w ciągu jednego dnia, w porównaniu do średniej witryny wynoszącej 33 wyświetlenia, będziemy wiedzieć, że jest to trend.

W repozytorium WordPressa znajduje się wiele wtyczek, które umożliwiają szybkie dodawanie tego typu widżetów do witryny WordPress. Jednak repeater tlenu i łatwy element postu pozwalają poważnie dostosować dynamiczne dane wyjściowe każdego posta. W naszych projektach budujemy całkowicie niestandardowe wyświetlacze i karty za pomocą repeaterów.

Dzięki tej metodzie możemy łatwo włączyć popularne posty i posty z trendami do Oxygen Buildera za pomocą repeaterów.

Wideo poradnik

Zdobądź widoki

Pierwszym krokiem jest zrozumienie, ile wyświetleń uzyskuje pojedynczy post.

Aby uzyskać widoki, zamierzaliśmy użyć popularnej wtyczki o nazwie „ Popularne posty WordPress „. To naprawdę potężne narzędzie - obsługuje wiele języków, jest wyposażone w pamięć podręczną, jest naprawdę dobrze udokumentowane na GitHub, ma pulpit statystyk w panelu administracyjnym WP, a nawet obsługuje API!

izotropowy-2022-06-19-at-17-41-16
Zainstaluj tę wtyczkę na swojej stronie internetowej Oxygen Builder

Po wyjęciu z pudełka zapewnia konfigurowalne widżety, aby łatwo wyświetlać najpopularniejsze posty w Twojej witrynie. Możesz wstawić je do Oxygen za pomocą skrótów.

Chcemy jednak pójść o krok dalej i wykorzystać element repeatera Oxygen Builder do wyświetlania najbardziej popularnych i popularnych postów. W ten sposób możemy użyć kreatora, aby całkowicie dostosować wygląd naszych najpopularniejszych postów.

Istnieje jednak niewielki problem z tym, jak ta wtyczka zarządza liczbą wyświetleń. Widoki są przechowywane w tabeli bazy danych oddzielnie od posts lub postmeta . Aby wykonać zapytanie za pomocą standardowego WordPress Square w generatorze tlenu, potrzebujemy tych danych dostępnych za pośrednictwem pola meta.

Dodaj widoki do postu Meta

Po zainstalowaniu wtyczki WordPress Popular Posts nadszedł czas, aby umożliwić wykorzystanie tych danych do naszych zapytań.

Aby to zrobić, musimy pobrać najbardziej aktualne liczby wyświetleń i wypełnić je w niestandardowym polu powiązanym z naszymi postami.

Gdy te dane będą dostępne, możemy je wykorzystać do uporządkowania postów według popularności w niestandardowych zapytaniach WordPress.

Najpierw dodaj ten kod do swojej witryny za pomocą menedżera fragmentów kodu. Sugerujemy organizowanie skryptów dla stron internetowych Oxygen Builder.

/** * Przechowuje widoki różnych okresów jako metaklucze. * * @author @migueleste / @radgh * @link https://wordpress.org/support/topic/how-to-sort-a-custom-query-by-views-all-time-monthly-weekly-or- daily/ * @param int $postid Identyfikator bieżącego wpisu/strony/niestandardowego typu wpisu. */ function custom_wpp_update_postviews($postid) { // Dokładność: // 10 = 1 na 10 wizyt zaktualizuje liczbę wyświetleń. (Zalecane dla witryn o dużym natężeniu ruchu.) // 30 = 30% odwiedzin. (Witryny o średnim ruchu.) // 100 = Każda wizyta. Tworzy wiele operacji zapisu db na każde żądanie. $dokładność = 50; if ( function_exists('wpp_get_views') && (mt_rand(0,100) < $accuracy)) { // Usuń lub odkomentuj wiersze, których nie będziesz używać!! update_post_meta($postid, 'views_total', wpp_get_views($postid, 'all', false) ); update_post_meta($postid, 'views_daily', wpp_get_views($postid, 'codziennie', false) ); update_post_meta($postid, 'views_weekly', wpp_get_views($postid, 'weekly', false) ); update_post_meta($postid, 'views_monthly', wpp_get_views($postid, 'monthly', false) ); } } add_action('wpp_post_update_views', 'custom_wpp_update_postviews');

Ten kod jest tworzony przez programistę stojącego za wtyczką, aby zrobić dokładnie to, czego potrzebujemy - dać nam użyteczne dane do zapytania.

Daje nam to cztery nowe pola meta do pracy - views_total, views_daily, views_weekly, views_monthly .

Całkowite widoki i widoki miesięczne doskonale nadają się do wykorzystania w popularnej sekcji postów. Widoki dzienne i tygodniowe świetnie nadają się do popularnych postów.

Każde pole zawiera numer odpowiadających widoków - na przykład w konkretnym poście mogę pokazać wszystkie widoki na interfejsie użytkownika, dodając to w bloku kodu Oxygen na szablonie zastosowanym do postów:

<?php the_field('views_total'); ?> //przykładowy wynik to 1203. Oznacza to, że od momentu opublikowania post otrzymał 1203 odsłon.

Wytrzymać!

W zależności od ruchu, jaki uzyskuje Twoja witryna, będziesz chciał zoptymalizować to, aby zasoby serwera były wyczerpane, zapisując każdy widok do bazy danych. Na szczęście ten fragment kodu ma wbudowaną funkcję, która dotyczy właśnie tego.

W górnej części tego fragmentu kodu znajduje się sekcja dotycząca dokładności. Skomentowane w kodzie są instrukcje.

Dokładność jest kontrolowana od 0-100. Jeśli ustawiono na 100, każda odsłona strony będzie rejestrowana w bazie danych. Jeśli ustawisz 1, 1 na 10 wizyt zaktualizuje liczbę wyświetleń.

Dokładność powinna być obniżona w przypadku witryn o większym natężeniu ruchu. Minimalizuje to obciążenie serwera i problemy z wydajnością.

Pamiętaj, że ta wtyczka nie ma na celu zastąpienia rozwiązania analitycznego. Dlatego dokładność nie ma większego znaczenia, ponieważ stosunek oglądalności do postów będzie taki sam. Nadal będziesz wiedzieć, które z Twoich postów są popularne.

Zbuduj sekcję popularnych postów

Teraz szybko zbudujmy sekcje trendów i popularnych postów.

Użyję repeatera i szybko dodam wyróżniony obraz, tytuł posta, fragment i przeczytaj więcej linku. Możesz także używać łatwych postów, ponieważ będziemy korzystać z funkcji zaawansowanych zapytań zawartych w Oxygen.

izotropowy-2022-06-19-at-18-04-50
Mój wyświetlacz „top story”, zbudowany za pomocą wzmacniacza Oxygen Builder

Zapytanie o popularne posty

Teraz nadszedł czas, aby zapytać o popularne posty. Jak wspomniano wcześniej, użyjemy ogólnej liczby wyświetleń w danym dniu, ponieważ daje nam to dobre zrozumienie trendów w tym konkretnym okresie.

Aby to zrobić, użyj zaawansowanej funkcji zapytania dla elementu powtarzającego lub łatwego postu.

izotropowy-2022-06-19-at-18-06-39

Kliknij przycisk „edytuj zapytanie”, aby otworzyć zaawansowany interfejs zapytania.

Teraz dodaj następujące. W tym używanym przypadku chciałem pokazać tylko najpopularniejsze osiem postów na podstawie tygodniowych wyświetleń.

Ustawiłem:

  • posts_per_page = 8
  • no_found_rows = true (to wyłącza paginację dla repeatera)
  • typ_postu = post
  • meta_key = views_weekly (wskazuje to WordPressowi, że musimy powiązać dane z tego pola z zapytaniem. Pamiętaj, że możemy zmienić to na sumaryczne, dzienne, tygodniowe lub miesięczne w zależności od tego, czy chcemy postów zyskujących popularność, czy popularnych)
  • order_by = meta_value_num (to mówi nam, że będziemy zamawiać według numeru powiązanego z naszą meta-wartością, która w tym przypadku jest widokami tygodniowymi)
  • order = desc (to każe nam uporządkować posty według większości wyświetleń do najmniej wyświetleń)
izotropowy-2022-06-19-at-18-07-39

Teraz zapisz wszystko i przejdź do frontendu swojej witryny Oxygen. Będziesz teraz wyświetlać posty w tym konkretnym repeaterze uporządkowane według liczby wyświetleń w wybranym okresie.

Premia

Chcę również wyświetlić moim czytelnikom ogólną liczbę wyświetleń w przedniej części bloga. Aby to zrobić, stworzę krótki kod. Dodaję ten kod do mojego menedżera snippets:

<?php add_action('init', function(){ add_shortcode('post_views', function(){ return wpp_get_views(get_the_ID()); }); }); ?>

Następnie mogę wstawić liczbę wyświetleń dla pojedynczego postu, dodając ten krótki kod:

[wyświetlenia_postów]

W tym samouczku umieściłem ten krótki kod w moim repeaterze, aby wyświetlić widoki powiązane z postem. W ten sposób mogłem sprawdzić, czy moje zapytanie działa zgodnie z założeniami.

izotropowy-2022-06-19-at-18-03-45
Nie będzie działać w edytorze, ale działa na interfejsie.
izotropowy-2022-06-19-at-18-14-12
Wzmacniacz frontendu, posortowany według tygodniowej liczby wyświetleń, pokazujący łączną liczbę odsłon na frontendzie.

Należy tutaj zauważyć, że nie jest to użycie pól licznika wyświetleń, które dodaliśmy do naszego pojedynczego posta za pomocą poprzedniego fragmentu kodu. Zamiast tego pobiera z tabeli bazy danych, którą ta wtyczka dodaje podczas instalacji. Oznacza to, że zawsze będzie to dokładna liczba wyświetleń, niezależnie od dokładności podanej w poprzednim fragmencie (to dwie różne rzeczy).

Mogę również dodać te informacje, dodając następujący kod PHP bezpośrednio do bloku kodu w szablonie zastosowanym do pojedynczego postu:

<?php if ( function_exists('wpp_get_views')) { // get_the_ID() działa tylko wtedy, gdy jest używana // wewnątrz pętli! (https://codex.wordpress.org/The_Loop) echo wpp_get_views(get_the_ID()); } ?> // Mogę również filtrować w dół <?php if ( function_exists('wpp_get_views')) { // '15' to identyfikator postu/strony echo wpp_get_views(15, 'last7days'); } ?> // Więcej: https://github.com/cabrerahector/wordpress-popular-posts/wiki/2.-Template-tags#wpp_get_views

Wniosek

W tym artykule pokazano, jak dodać popularną i/lub zyskującą popularność sekcję postów za pomocą wzmacniacza Oxygen Builder do witryny utworzonej za pomocą tej wtyczki. Jeśli masz jakieś pytania lub sugestie, możesz je zostawić w wspólnej sekcji poniżej.

Możesz polubić

Subskrybuj i udostępniaj
Jeśli spodobała Ci się ta treść, zasubskrybuj nasz comiesięczny przegląd wiadomości WordPress, inspiracji do stron internetowych, ekskluzywnych ofert i interesujących artykułów.
Zrezygnuj z subskrypcji w dowolnym momencie. Nie spamujemy i nigdy nie będziemy sprzedawać ani udostępniać Twojego e-maila.