Wyklucz niektóre kategorie WordPress z paginacji. Jak wykluczyć posty i kategorie ze strony głównej WordPress, kanału rss, kategorii i archiwów bez wtyczek

Na stronie głównej, a także na stronach kategorii, w archiwach i wynikach wyszukiwania zwykle potrzebna jest nawigacja strony (zwana także paginacją). Blogi na WordPressie nie są wyjątkiem, stosują również paginację, gdy wyniki wygenerowanych informacji są podzielone na kilka stron.

Wcześniej, aby zaimplementować tę funkcję, korzystano z wtyczek innych firm lub specjalnych funkcji, które znajdowały się w pliku funkcje.php. Jednak wraz z wydaniem wersji WordPress 4.1 funkcja paginacji została wbudowana w rdzeń CMS i teraz wewnętrzne funkcje WordPress wystarczą do wdrożenia nawigacji po stronach i nie ma potrzeby dodawania kodu ani wtyczek innych firm.

O podobnym usprawnieniu ze strony WordPressa odnośnie tagu TITLE pisałem wcześniej - https://aboutwordpress.ru/post/wordpress-title/.

Co to jest paginacja

Paginacja to podział informacji na strony. Pojęcie to oznacza także sekwencyjną numerację stron, oznaczoną numerami umieszczonymi u dołu, u góry lub z boku strony.

WP-PageNavi - wtyczka do paginacji WordPress

Najpopularniejszą wtyczką do stronicowania dla WordPressa jest WP-PageNavi. Szczerze mówiąc, z zadaniem paginacji radzi sobie na tyle dobrze, że nie ma sensu omawiać i porównywać innych wtyczek.

Paginacja WordPress - wtyczka WP-PageNavi

Paginacja WordPress bez wtyczki

Aby wykonać paginację na stronie internetowej bez wtyczek, skorzystamy z wbudowanej w WordPress funkcji the_posts_pagination(). W potrzebne nam miejsce musimy wstawić następujący kod (przeważnie są to pliki indeks.php, kategoria.php i tym podobne):

Wynikiem funkcji the_posts_pagination() będzie w przybliżeniu następujący kod HTML:

Usuwanie nagłówka H2 z paginacji

Nagłówek H2 „Post Nawigacja” od razu rzuca się w oczy. Na co w większości przypadków nie ma miejsca na stronie. Aby się go pozbyć, dodaj do pliku następujący kod funkcje.php:

/* Usuń H2 z paginacji */ add_filter("navigation_markup_template", "my_navigation_template", 10, 2); funkcja my_navigation_template($szablon, $klasa)(zwróć "

"; }

Konfigurowanie stron paginacji

Domyślnie funkcja the_posts_pagination() wyświetla pierwszą i ostatnią stronę, a także jedną stronę wokół bieżącej. Wszystkie pozostałe są zastępowane elipsą. To zachowanie można zmienić za pomocą argumentów:

  • show_all - pokaż wszystkie strony
  • end_size - liczba stron na początku i na końcu listy
  • mid_size - liczba stron po lewej i prawej stronie bieżącej strony

Na przykład tak:

2, "end_size" => 2,)); ?>

Style paginacji CSS

Numery stron ( dopełnienie: 1% 2%; cień ramki: 0 0 10px #ccc; margines: 0 1% 0 0; tło: #fff; promień obramowania: 3px; )

Linki do stron paginacji z tymi stylami będą wyglądać następująco:

…jak to zrobić? ...ogólnie nie jest to trudne. A jeśli zadaniem jest właśnie zakazanie wyświetlania tej czy innej kategorii, rozwiążemy ten kaprys za kilka minut.

Jest jednak pewien haczyk –

...rozwiązując problem zakazu wyświetlania kategorii w widgecie, pojawia się z nim ponury związek, a mianowicie pytanie: jak skonfigurować wyświetlanie kategorii w niezbędnym i logicznym porządku, ale nie chaotycznie!?


...powinnaś się nad tym poważnie zastanowić. ...i jasno zdefiniuj swoje potrzeby. Ale najpierw: a na koniec dam ci doskonałe i pomysłowe rozwiązanie do filtrowania kategorii…

wykorzystanie łatwości kodu Wdrażając tego typu zakazy/zezwolenia na niezbędne/niepotrzebne treści na blogu, warto mieć na uwadze jakąś perspektywę rozwoju swojej witryny, aby nie spotkać się z kolejną towarzyszącą „niespodzianką” być albo nie być w przyszłości przebudowę bloga - albo poprzez edycję plików, albo wymianę wtyczek.

Przecież zawsze jest alternatywa: użyć wtyczki (ich numer „...jak kudły...” nie zawsze jest dobra), czy napisać kod w pliku funkcji - f unctions.php (nieźle, ale nie rozwiązuje problemu jednoznacznie)!?

Uzupełnić swój umysł!..

Pokazałem możliwe niedociągnięcia techniczne związane z bezmyślnym rozpoczęciem blogowania, a teraz proponuję możliwe sposoby logicznego rozwiązania:

Jeśli chcesz po prostu ukryć określoną kategorię widżetu WordPress, która jest domyślnie obecna w menu każdej nowej witryny, jest to proste.

Otwieramy plik o którym mówiliśmy Functions.php i gdzieś w jego końcowym dekodowaniu) przed tagiem?> piszemy ten kodowany filtr przerywany.

// KOD WYKLUCZENIA RUBRIC funkcja uruchamiająca ext_widget_categories($args)( $exclude = "39"; $args["exclude"] = $exclude; return $args; ) add_filter("widget_categories_args","ext_widget_categories"); //KOD WYKLUCZENIA DLA RUBRICS koniec

Liczba 39 oznacza id kategorii, która jest filtrowana niczym bezużyteczny bazar w serwisie.

Możesz podać kilka, oddzielając je przecinkami.

...To wszystko, jedno z pytań jest zamknięte.

jak ukryć wyświetlanie podkategorii w widżecie

Rozwiązanie znajduje się w poniższej wersji kodu, która zabrania/pozwala na wyświetlanie nazw niektórych podkategorii (posty na blogu podrzędnym).

// kod wyjściowy dla jedynych podkategorii kategorii o określonym ID=7 funkcja startowa ext_widget_categories($args)( $args["child_of"] = 7; return $args; ) add_filter("widget_categories_args","ext_widget_categories") ; //kod wyjściowy dla jedynych podkategorii kategorii o określonym ID=7 end

Argumentację tych kodów można łączyć.

Proszę bardzo!! Osiągnęliśmy pełną kontrolę nad kontrolą WYŚWIETLANIA w widżecie „Kategorie” wszystkich Twoich kategorii.

...ale - jednak mówimy!! Często zdarza się, że jakiś czas później, po otwarciu strony internetowej, z goryczą odkrywa się jeszcze jedną wadę: nagłówki w widżecie na pasku bocznym nie są ułożone w logicznej kolejności (przypadkowo) - wiadomo, wybredność rozwijania profesjonalizmu.

W tym przypadku musisz także wybrać jedną z kilku fajnych opcji:

Przejdźmy do repozytorium wtyczek WordPress - ścieżka: konsola/wtyczki/dodaj wtyczkę/...zainstaluj/aktywuj... takie cudo Kolejność kategorii i kolejność terminów taksonomii.

Techniczne tłumaczenie cytatu na wtyczkę:
Porządkuj kategorie i wszystkie terminy taksonomii (niestandardowo hierarchicznie) oraz terminy podrzędne, korzystając z funkcji sortowania JavaScript metodą przeciągania i upuszczania.
Wtyczka nie ma mylących ustawień: wystarczy najechać kursorem na „rekordy” po lewej stronie konsoli i spojrzeć na element Kolejność taksonomii…

Wszystko jest paradoksalnie proste: przeciągając plansze skonfiguruj optymalną kolejność wyświetlania nazw istniejących nagłówków.

Wady metody „wtyczkowej” obejmują: nie można zabronić wyświetlania niektórych kategorii...

Dlatego będziesz musiał użyć kodu sugerowanego powyżej lub wtyczki pokazanej poniżej...

Zabraniamy wyświetlania niektórych kategorii za pomocą wtyczki NS Category Widget

...wpadnijmy jeszcze raz do repozytorium WordPressa i pobierzmy wtyczkę NS Category Widget - ten „skok” da nam kolejne, ale bardziej eleganckie ustawienie oprócz istniejącego widżetu „Kategorie”: czyli - zwykły widget powinien zostać usunięty lub ukryta w „nieaktywna” i skonfiguruj tę zaawansowaną opcję zarządzania treścią: pokazywanie/blokowanie.

Przejdź do jego ustawień i ustal własne zasady: według identyfikatora kategorii, ważności hierarchii i podobnych dostosowań... To proste!

Wtyczka umożliwia korzystanie z wielu jednostek widżetów na wymaganych poziomach stron, dla których ustawienia są indywidualne, w przeciwieństwie do standardowej „kategorii”, której można wyświetlić co najmniej kilkanaście, ale ustawienia „górnego” kodu będzie dotyczyć wszystkich: to minus możliwości podłączenia standardowego widżetu „kategorii” i kodu opisanego na samym początku artykułu… A jeśli planujesz korzystać z kilku opcji dla widżetów kategorii, to nadal powinieneś pobierz wtyczkę NS Category Widget.

ALE! w wersji zaawansowanej nie ma prostszej i bardziej subtelnej kolejności sortowania kategorii – to jest jej wada. Takie zamieszanie!

Decyzja jest twoja...

...jeśli dostrzegłeś w artykule coś przydatnego dla siebie, świetnie!

Cześć chłopaki!

Dzisiaj pojawi się artykuł techniczny, który pokaże Ci, jak wykluczyć posty ze strony głównej witryny WordPress.

Dowiesz się także, jak wykluczać całe kategorie, a nie tylko określone wpisy. Pokażę Ci wiele opcji, zarówno z wtyczkami, jak i bez nich. Ogólnie wszystko jest jak zawsze.

W jakich przypadkach warto go stosować?

Konieczność wykluczenia niektórych postów, czyli ich ogłoszeń ze strony głównej, występuje najczęściej na blogach osobistych, gdy oprócz dużych, wysokiej jakości artykułów przeznaczonych dla stałego odbiorcy, warto także wypełnić zasób prostymi artykułami zoptymalizowanymi pod kątem SEO .

Takie artykuły raczej nie będą przydatne dla członków bloga, ponieważ oni już to wszystko wiedzą. Aby nie zaśmiecać strony głównej niepotrzebnymi ogłoszeniami, lepiej ich nie pokazywać. Jednocześnie należy je dodać do witryny, aby przyciągnąć nowych odbiorców do zasobu z wyszukiwarek. Muszą też zostać wyświetlone, ale należy to zrobić na stronach działów i archiwów, aby nowicjusze mogli je znaleźć, korzystając z nawigacji po sekcjach serwisu.

Na przykład tego artykułu nie znajdziesz na stronie głównej mojego bloga, na żadnej z ich stron paginacji (nawigacja strony). Jednocześnie zapowiedź artykułu widoczna jest w sekcji „Przydatne” oraz na stronie mapy serwisu „Wszystkie artykuły”.

Bez wtyczki

Metoda bez wtyczki jest zawsze preferowana, ale w tym przypadku nie będzie priorytetem, ponieważ aby wykluczyć jakiś artykuł, będziesz musiał za każdym razem wprowadzić zmiany w instalowanym pliku szablonu. Ale nadal pokażę kilka różnych opcji wdrożenia takiego rozwiązania, ponieważ jest całkiem możliwe, że będzie Ci to odpowiadać.

Poniżej podam różne fragmenty kodu, które należy umieścić w pliku szablonufunctions.php.

Z wyłączeniem określonych rekordów według identyfikatora

W tej opcji nie ma potrzeby ukrywania całych kategorii przed widocznością na stronie głównej, jak wiele osób robi to za pomocą różnych wtyczek. Wystarczy, że dodasz w kodzie identyfikatory wymaganych rekordów.

funkcja wyklucz_post($query) ( if ($query->is_home) ($query->

if ($zapytanie -> is_home )

( $zapytanie -> // identyfikator posta

zwróć $zapytanie; )

W linii 3 cyfry 1 i 2 to rekordy identyfikacyjne, które nie pojawią się na stronie głównej. Należy to zapisać oddzielone przecinkami.

Identyfikator wpisu, strony i kategorii znajdziesz w pasku adresu przeglądarki podczas przeglądania przez edytor.

Kolejna opcja pozwoli Ci wykluczyć wpisy z kanału RSS.

Wykluczenie z kanału RSS

Ten kod pozwoli Ci wykluczyć ogłoszenia z kanału aktualności i nie wysyłać ich pocztą elektroniczną, jeśli korzystasz z usługi subskrypcji i ogłoszeń za pomocą Feedburner.

funkcja wyklucz_post($query) ( if ($query->is_feed) ($query->set("post__not_in", array(1, 2));) // identyfikator postu (postu) return $query; ) add_filter(" pre_get_posts","exclude_post");

funkcja wyklucz_post ($zapytanie) (

if ($query -> is_feed )

( $query -> set ( "post__not_in" , tablica ( 1 , 2 ) ) ; ) // identyfikator posta

zwróć $zapytanie; )

add_filter („pre_get_posts”, „exclude_post” );

Dodawanie rekordów w tym przypadku, jak i we wszystkich pozostałych przebiega w ten sam sposób.

Wykluczenie z kategorii i archiwów

Aby wykluczyć posty ze stron kategorii, powinieneś użyć poniższego kodu.

funkcja wyklucz_post($query) ( if ($query->is_category) ($query->set("post__not_in", array(1, 2));) // identyfikator postu (postu) return $query; ) add_filter(" pre_get_posts","exclude_post");

funkcja wyklucz_post ($zapytanie) (

if ($query -> is_category )

( $query -> set ( "post__not_in" , tablica ( 1 , 2 ) ) ; ) // identyfikator posta

zwróć $zapytanie; )

add_filter („pre_get_posts”, „exclude_post” );

Ten kod można zmodyfikować, aby zastosować wyjątek z archiwów. Konieczne jest zastąpienie funkcji is_category funkcją is_archive w drugim budynku.

Wykluczenie ze strony wyszukiwania

Ta opcja może być również wymagana, jeśli niektóre rekordy nie powinny być pokazywane odwiedzającym podczas korzystania z wyszukiwania w witrynie. Mogą to być na przykład różne artykuły prasowe, które nie zawierają treści związanych z tematyką witryny.

funkcja wyklucz_post($query) ( if ($query->is_search) ($query->set("post__not_in", array(1, 2));) // identyfikator postu zwraca $query; ) add_filter(" pre_get_posts", „wyklucz_post”);

funkcja wyklucz_post ($zapytanie) (

if ($query -> is_search )

( $query -> set ( "post__not_in" , tablica ( 1 , 2 ) ) ; ) // identyfikator posta

zwróć $zapytanie; )

add_filter („pre_get_posts”, „exclude_post” );

Łączenie kilku opcji

Możesz połączyć wszystkie powyższe opcje i wykluczyć rekordy ze wszystkich typów stron jednocześnie lub selektywnie na niezbędnych.

Jeśli dobrze przyjrzysz się wszystkim kodom, to w drugiej linii zobaczysz warunek, w którym parametr typy stron jest ustawiony tak, aby wyłączyć wyświetlanie w nich zapowiedzi postów:

  • is_search
  • jest_kategoria
  • is_feed
  • to dom

Możesz połączyć wszystkie opcje i wykluczyć posty zewsząd lub na niektórych stronach. Przykładowo dla wykluczeń z kategorii i main należy umieścić następujący kod w plikufunctions.php.

funkcja wyklucz_post($query) ( if ($query->is_category || ($query->is_home)) ($query->set("post__not_in", array(1, 2));) // identyfikator postu ) return $query; ) add_filter("pre_get_posts","exclude_post");

funkcja wyklucz_post ($zapytanie) (

if ($query -> is_category || ($query -> is_home ) )

( $query -> set ( "post__not_in" , tablica ( 1 , 2 ) ) ; ) // identyfikator posta

zwróć $zapytanie; )

add_filter („pre_get_posts”, „exclude_post” );

Druga linia warunku (if) zawiera parametry kategorii (is_category) lub domu (is_home).

Należy pamiętać, że każdy kolejny parametr jest zapisywany wewnątrz poprzedniego przez 2 pionowe kreski i znajduje się w osobnych nawiasach. Oznacza to, że jeśli spojrzysz na poprzedni kod, zobaczysz, że drugi warunek strony głównej jest ujęty w osobne nawiasy i znajduje się w nawiasach ogólnych, które otaczają pierwszy warunek dla kategorii.

Jeśli warto dodać jakiś trzeci warunek, np. dla stron archiwalnych, to warto dodać go w nawiasie z warunkiem dla głównego (is_home) i zapisać go przez 2 pionowe kreski. W praktyce wygląda to tak.

funkcja wyklucz_post($query) ( if ($query->is_category || ($query->is_home || ($query->is_archive))) ($query->set("post__not_in", array(1, 2) );) // identyfikator posta zwraca $query; ) add_filter("pre_get_posts","exclude_post");

funkcja wyklucz_post ($zapytanie) (

if ($query -> is_category || ($query -> is_home || ($query -> is_archive ) ) )

( $query -> set ( "post__not_in" , tablica ( 1 , 2 ) ) ; ) // identyfikator posta

zwróć $zapytanie; )

add_filter („pre_get_posts”, „exclude_post” );

Stosując tę ​​samą zasadę, dodaj inne typy stron do wykluczenia.

Następną opcją wykluczania rekordów jest wykluczenie całych nagłówków (kategorii).

Z wyłączeniem całych kategorii

Jest to bardzo wygodne dla leniwych, ponieważ można po prostu utworzyć jakąś kategorię i dodać do niej wszystkie posty, które nie wymagają wyświetlania na określonych typach stron.

Struktura kodu jest prawie taka sama. Zmienia jedynie parametr określający wykluczenie wpisu lub kategorii. W omówionych wcześniej przypadkach ostatnia linia została ustawiona na wykluczenie_post. W nowym kodzie należy go zastąpić przez require_cat.

funkcja wyklucz_cat($query) ( if ($query->is_home) ($query->set("cat","-1, -2, -3");) // identyfikator kategorii zwraca $query; ) add_filter( „pre_get_posts”, „exclude_cat”);

funkcja wyklucz_cat ($zapytanie) (

if ($zapytanie -> is_home )

( $query -> set („cat”, „-1, -2, -3” ) ; ) // identyfikator kategorii

zwróć $zapytanie; )

add_filter („pre_get_posts”, „exclude_cat” );

Jak widać, zmianom uległa ostatnia linia oraz trzecia linia, w której zmieniono parametr odczytujący identyfikator kategorii. Identyfikator w tym przypadku zapisywany jest za pomocą myślnika, ale także przecinka.

Zasada konstruowania warunków dla typów stron jest podobna do opcji omówionych wcześniej, gdzie pokazałem przykład wykluczania konkretnych postów. Warto zmienić drugą linię, dodając niezbędne parametry dla kategorii, wyszukiwania, archiwów czy kanałów RSS.

Przyjrzeliśmy się więc metodom bez wtyczki. Istnieje również możliwość wykluczenia wpisów dotyczących tagów, ale teraz tagi nie są już zbyt istotne dla 99% zasobów. Jeśli potrzebujesz takich informacji, napisz o tym w komentarzach. Zaraz wszystko dodam.

Wtyczki

Wtyczki są w tej kwestii bardziej elastycznym rozwiązaniem, gdyż przy wykluczaniu określonych wpisów nie ma konieczności każdorazowej edycji pliku szablonu. Warto zaznaczyć checkbox w edytorze pożądanych postów w trakcie ich publikowania lub po ich opublikowaniu.

Jeśli warto wyłączyć specjalną kategorię stworzoną dla artykułów, które nie wymagają wyświetlania, to lepiej skorzystać z jednego z podanych powyżej kodów.

Po prostu wyklucz wtyczkę

Wtyczkę możesz pobrać albo poprzez konsolę WordPress, korzystając z wyszukiwania, albo z oficjalna strona WordPressa.

Po aktywacji będzie już działać i nie trzeba go konfigurować. Mimo to polecam wprowadzić pewne zmiany, aby praca z jego funkcjami była przyjemniejsza.

Po instalacji i aktywacji od razu przechodzimy do jego ustawień.

Początkowo w ustawieniach wtyczki wszystko jest ustawione tak, że po włączeniu checkboxa (przyjrzymy się temu poniżej), wymagane strony (posty, kategorie, strony) zostaną oznaczone jako „dopuszczone do wyświetlania”. Dlatego dla każdego typu strony będziesz musiał zaznaczyć wszystkie pola wyboru, aby wszystko zostało wyświetlone.

Bardziej logiczne byłoby ustawienie tej opcji, gdy aktywując checkbox (na przykład na stronie głównej), oznaczy on artykuł lub coś innego jako zabronione do wyświetlania.

W ustawieniach znajdują się 3 zakładki, które służą do konfiguracji ustawień dla różnych typów stron:

  • Taksonomie (taksonomie) - ustawienia działania wtyczki w sekcjach panelu administracyjnego WordPress: kategorie i tagi;
  • Typy postów - dla typów postów: artykuły i strony;
  • Użytkownicy - ustawienia dla użytkowników.

Teraz dam zrzut ekranu ustawień pierwszej zakładki (taksonomia) i wyjaśnię parametry, które należy ustawić.

  • W pierwszym bloku ustawień „Aktywny” należy ustawić checkbox „Aktywny”, aby wtyczka dodała niezbędne pola wyboru, aby wyłączyć wyświetlanie w kategoriach lub innych typach stron;
  • W drugim bloku ustawiamy wszystkie parametry naprzeciwko opcji „Wyklucz”. Oznacza to, że jeśli w edytorze danego typu strony zostanie zaznaczona opcja checkbox, będzie ona ukrywana przed wyświetlaniem, a nowe artykuły będą domyślnie otwierane do wyświetlania. Jeżeli ustawisz parametr „Tylko uwzględnij”, to po zaznaczeniu checkboxa wpisy będą otwarte do wyświetlenia, a nowe artykuły będą domyślnie ukryte. Jeżeli wybrana zostanie druga opcja „Uwzględnij tylko”, to po zainstalowaniu wtyczki wszystkie wpisy zostaną ukryte i konieczne będzie ustawienie opcji „Wyklucz”;
  • W bloku „Pokaż/Ukryj” ustaw parametr „Pokaż”, tak aby na każdym typie strony wyświetlały się niezbędne checkboxy umożliwiające wyłączenie lub włączenie wyświetlania.

Te same parametry należy wprowadzić w pozostałych 2 zakładkach ustawień wtyczki Simply Exclude.

Oto przykładowy zrzut ekranu karty „Typy postów”.

Można oczywiście wyłączyć działanie niektórych funkcji, np. w pierwszej zakładce można dezaktywować wtyczkę dla kategorii, jeśli nie mamy zamiaru wykluczać wszystkich postów z całej kategorii.

Teraz o działaniu samej wtyczki. Po ustawieniu niezbędnych parametrów możesz przejść do edytora każdego typu postu i zaznaczyć pola wyboru obok tych stron, na których chcesz wykluczyć ich wyświetlanie.

Na przykład, aby ustawić ustawienia dla postów, możesz przejść do redaktora żądanego artykułu lub poprzez pozycję wszystkie artykuły. Zarówno tam, jak i tam będą niezbędne pola wyboru. W edytorze w prawej kolumnie pojawi się blok „Po prostu wyklucz” zawierający 4 checkboxy służące do ukrywania postów i stron:

  • Archiwa - kategorie i archiwa;
  • Kanały - kanały RSS;
  • Przód/Strona główna - główny;
  • Wyszukiwania - szukaj.

Zaznaczając wymagane pole wyboru, możesz ukryć post na określonym typie strony.

W panelu administracyjnym WordPressa „Wszystkie posty” obok każdego materiału w nowej kolumnie o nazwie „Po prostu wyklucz pokaz” pojawią się również te 4 pola wyboru. To samo tyczy się rubryk. Zostanie dodana nowa kolumna ze wszystkimi polami wyboru.


To wszystko, jeśli chodzi o tę wtyczkę. Instalując go, możesz bardzo szybko i elastycznie zmieniać parametry wyświetlania poszczególnych postów lub całych kategorii, bez ingerencji w pliki szablonów.

Wyklucz wtyczkę kategorii

Wtyczka ma na celu jedynie ukrycie całej kategorii na stronie głównej i kanale RSS. Ponieważ ta opcja nie wymaga dużej elastyczności (raz stworzyłem kategorię i dodałem tam artykuły), polecam wdrożyć wykluczenie całej kategorii za pomocą kodu (patrz punkt 2).

Wtyczkę możesz pobrać korzystając z przycisku poniżej.

Po zainstalowaniu przejdź do ustawień (Ustawienia - Wyklucz kategorię) i wybierz wymaganą kategorię, aby wykluczyć ją ze strony głównej.

Wykluczenie wszystkich wpisów w kategorii jest powszechną opcją. Ale widzę w tym wadę, ponieważ strona musi publikować wiele artykułów, aby przyciągnąć ruch związany z wyszukiwaniem, a wszystkie będą dotyczyć różnych zagadnień na ten sam temat.

Ale wrzucanie różnych materiałów do jednej kategorii nie jest zbyt dobre.

Z tej opcji często korzysta się również przy aktywnej sprzedaży linków na stronie internetowej. Właściciel tworzy sekcję i publikuje w niej wszystkie artykuły zawierające linki sprzedażowe. I to też nie jest zbyt dobre, ponieważ teraz webmasterzy wymagają umieszczenia linku w jednej z głównych sekcji witryny, aby był chociaż w niewielkim stopniu klikalny i miał wpływ na promocję.

To wszystko, chłopaki, w tej notatce kończę ten szczegółowy podręcznik, który powinien wam się przydać, jeśli trafiliście we właściwe miejsce na ten artykuł. Mam nadzieję, że wszystko pójdzie dobrze dla ciebie.

Życzę wspaniałego nastroju i cudownego dnia. Do zobaczenia.

Pozdrawiam, Konstantin Chmelew!

Dzisiaj artykuł o tym, jak ręcznie, bez użycia wtyczek, wykluczyć kategorie ze strony głównej witryny WordPress.

Istnieje kilka sposobów wykluczania postów z określonej kategorii na stronie głównej bloga. Moim zdaniem jednym z najłatwiejszych sposobów jest dodanie małego fragmentu kodu do pliku funkcje.php. Ten fragment kodu będzie rodzajem filtra, który uchroni nas przed koniecznością zmiany innych plików motywu. Korzystając z tej metody, nie musisz tracić czasu na przerabianie cyklu wyprowadzania rekordów do pliku indeks.php Poprzez zapytania_posty.

Spójrzmy więc na przykład:

1) Załóżmy, że musimy usunąć wpisy z kategorii, której numer identyfikacyjny wynosi 4, czyli ID = 4. Innymi słowy, musimy wykluczyć ze strony głównej posty z kategorii, której identyfikator wynosi 4.

2) Ustaliliśmy już zadania, przystępujemy do ich realizacji – w tym celu dodamy je do pliku funkcje.php następujący fragment kodu:

Funkcja usuńFromHome($query) ( if ($query->is_home) ($query->

Zapisujemy zmodyfikowany plik funkcje.php i widzimy, że na stronie głównej nie ma już wpisów z kategorii ID=4.

Z punktu widzenia logiki WordPressa stroną główną jest także każda inna strona, która powstaje w wyniku nawigacji po stronie. Tym samym nie zobaczymy postów z wykluczonej kategorii ID=4 na stronie 2, 3, 4 itd.

Jeśli ta opcja Ci nie odpowiada, możesz nieznacznie zmienić powyższy kod na taki:

Funkcja usuńFromHome($query) ( if ($query->is_home && !(is_paged())) ($query->set("cat","-5");) return $query; ) add_filter("pre_get_posts" „usuń z domu”);

Zapisujemy i teraz na każdej stronie, z wyjątkiem strony głównej, wpisy z kategorii o ID=4 będą wyświetlać się normalnie.

Wykluczanie wpisów kategorii z wyników wyszukiwania

Jeśli chcesz wykluczyć wpisy kategorii ze strony wyników wyszukiwania, wystarczy to zmienić to dom NA is_search.

Aby wykluczyć wpisy z kilku kategorii należy w powyższych kodach podać identyfikatory tych kategorii oddzielone przecinkami. Załóżmy, że chcesz wykluczyć kategorie, których identyfikatory to 3,7,8,9. Następnie w kodzie zostaną wprowadzone następujące zmiany:

Funkcja usuńFromFeed($query) ( if ($query->is_feed) ($query->set("cat","-3, -7, -8, -9");) return $query; ) add_filter(" pre_get_posts","usuń z kanału");

Wykluczanie wpisów kategorii z kanału RSS

Co zrobić, jeśli chcesz wykluczyć posty z określonej kategorii ze swojego kanału RSS? Można to zrobić bardzo prosto – użyj poniższego kodu:

Funkcja usuńFromFeed($query) ( if ($query->is_feed) ($query->set("cat","-4");) return $query; ) add_filter("pre_get_posts","removeFromFeed");

Zapisujemy zmiany i widzimy, że w kanale nie ma już postów z niepotrzebnej nam kategorii.

Z wyłączeniem wpisów kategorii z kanału RSS i strony głównej

Jeśli nagle chcesz się upewnić, że posty z określonej kategorii nie będą wyświetlane na stronie głównej i w kanale, musisz użyć następującego kodu:

Funkcja usuńCat($query) ( if ($query->is_feed || ($query->is_home && !(is_paged()))) ($query->set("cat","-3,-7") ;) zwróć $zapytanie; ) add_filter("pre_get_posts","removeCat");

W takim przypadku wpisy w kategoriach, których identyfikator wynosi 3, nie zostaną pokazane na stronie głównej i w kanale RSS, ale zostaną pokazane przy otwarciu innych stron.

Zmiany w pliku funkcje.php można wprowadzić w dowolnym miejscu, ale bez dotykania kodu innej funkcji. Najłatwiej jest dodać kod na końcu pliku.

Powszechnie wiadomo, że paginacja powoduje duplikację stron. To z kolei może skutkować tym, że taka witryna może „zawisnąć” w wynikach wyszukiwania. W takim przypadku jedynym wyjściem z tej sytuacji jest upewnienie się, że roboty wyszukujące nie „widzą” obecności paginacji w dowolnym miejscu witryny.

Jak zablokować paginację przed indeksowaniem?

Jedną z metod rozwiązania tego problemu jest dodanie dyrektywy noindex na stronach paginacji. Ostatecznie powinny wyglądać tak:

noindex to specjalna dyrektywa używana do oznaczania linków, które nie są pożądane do indeksowania przez wyszukiwarki. Kiedy robot wyszukiwania natknie się na nią, od razu „zrozumie”, że tej strony nie trzeba brać pod uwagę. Po prostu go pominie, dlatego nie znajdzie się na liście tych, które powinny zostać dodane do indeksu.

Ze wszystkich sposobów rozwiązania problemu najbardziej poprawnym i najłatwiejszym dla użytkownika WordPressa jest wtyczka, która za pomocą dwóch kliknięć ukryje paginację przed wyszukiwarkami. Aby to zrobić, wystarczy przejść do sekcji administracyjnej Wyczyść Pro, a następnie na karcie SEO włącz opcję Noindex do paginacji.

Oprócz wtyczki Wyczyść Pro, istnieją inne, mniej wygodne sposoby blokowania stronicowania przed robotami. Przyjrzyjmy się najpopularniejszym z nich.

Metoda 1: plik funkcje.php

Ta metoda polega na dodaniu specjalnego kodu PHP do aktywnego pliku motywu.

Jeśli nie wiesz, jak edytować funkcje.php, wtyczka Ci pomoże.

Zatem na samym końcu należy dodać następujące linie:

Funkcja wpschool_noindex_pagination() ( if(is_paged()) echo " "; ); add_action("wp_head", "wpschool_noindex_pagination");

W wyniku działania kodu na stronach paginacji (począwszy od drugiej), w sekcji , powyższa linia będzie obecna:

Metoda 2. Plik robots.txt

Możesz także dodać noindex do stron paginacji za pomocą specjalnego pliku robots.txt, który znajduje się w katalogu głównym Twojej witryny. Musisz dodać w nim następującą linię:

Nie zezwalaj: */strona/

Ta metoda jest podobna do poprzedniej i daje ten sam wynik.