otwarty
Zamknąć

Jak usunąć (wyłączyć) komentarze w WordPress. Jak wykluczyć posty i kategorie ze strony głównej WordPress, kanału rss, kategorii i archiwów bez wtyczek Jak ukryć posty ze strony głównej WordPress

Witajcie przyjaciele, dzisiejszy post będzie krótkim podsumowaniem niektórych wydarzeń z internetowego życia bloga, a na końcu artykułu znajdzie się także przydatny hack.

Długo oczekiwana aktualizacja PageRank od Google

Wiele osób już wie, że pewnego dnia Google po bardzo długim czasie zaktualizowało PageRank, a mój blog otrzymał swój pierwszy. Jest mało prawdopodobne, że to mi coś da, ale nadal jest miło)

Zabawne jest to, że mam inną witrynę, młodą i prawie pustą - w indeksie jest tylko 20 artykułów. Ruch jest w okolicach 20-30 osób dziennie, żadnych tyłów, żadnych komentarzy. Krótko mówiąc, wcale go nie promowałem, po prostu stopniowo go uzupełniałem. Otrzymał więc PR 2, gdzie nadal nie rozumiem logiki =)

Pochwal się, komu jeszcze PR wzrósł (spadł) :)

witryna stała się celem ataku spamowego

Przez ostatni tydzień mój blog był ofiarą masowego ataku spamu – codziennie 700–800 komentarzy spamowych pochodzi z różnych adresów IP. Miałem to tylko raz jakieś półtora roku temu i szybko się skończyło, ale teraz coś się przeciągnęło...

Włączyłem Acismet, więc nie zdziw się, jeśli nagle Twoje komentarze nie pojawią się od razu na stronie, ta paranoiczna osoba jest gotowa nazwać wszystkich heretykami i spalić ich, wrzucić do spamu =) Środki są tymczasowe i po zakończeniu ataku ( Mam nadzieję, że to się skończy) Odetnę wtyczkę.

Piszę kolejną niestandardową recenzję

Tak, tak, zamówili u mnie kolejnego recenzenta, drugiego w ciągu miesiąca. Na prośbę klienta zostanie zaostrzony pod kątem ruchu związanego z wyszukiwaniem.

Miło, że mój blog zaczyna przyciągać uwagę reklamodawców =) Jeśli tak będzie dalej, to trzeba będzie podnieść cenę, a jedzenie trzeba będzie uporządkować jak księżniczkę w jadalni, żeby nie przepełnić bloga z reklamą. Chociaż myślę, że ten będzie miał tylko 3 artykuły przez cały czas, nie sądzę, że dużo.

Znany bloger sprzedaje swój wybrzuszony blog

Timur postanowił sprzedać swój blog wpget.ru. Titz 30 PR 2 ruch średnio 200 osób dziennie, ponad 300 artykułów w indeksie, strona zarabia na sprzedaży linków. Teraz oferta na telderi wynosi tylko 12 tysięcy, to bardzo tanio jak na taką stronę, w zasadzie gdybym miał trochę wolnych pieniędzy, sam bym to kupił)

Szkoda oczywiście, że go sprzedaje, ale jeśli masz już tego dość i blogowanie nie sprawia Ci przyjemności, to nie warto, naprawdę lepiej znaleźć dla siebie coś ciekawszego.

Jak usunąć kategorię lub post ze strony głównej bloga WordPress i kanału RSS

Któregoś dnia musiałem usunąć post ze strony głównej. Wielokrotnie pytano mnie, jak to zrobić. Kiedyś korzystałem z krzywej i ciężkiej wtyczki, ale teraz znalazłem mały i łatwy hack, który pozwala zrobić wszystko w kilka minut.

Właściwie, oto sam kod:

funkcja ukryjkategorię($zapytanie) (
if ($query->is_feed || ($query->is_home && !(is_paged())))
($query->set("kot","-24");)
zwróć $zapytanie; )
add_filter("pre_get_posts","ukryjkategorię");

24 to mój numer, będziesz musiał wpisać swój.

Ten kod jest wstawiany do plikufunctions.php. Jego istota jest następująca: powiedzmy, że chcesz ukryć jakąś kategorię, w tym celu poznasz jej numer identyfikacyjny. Możesz się o tym dowiedzieć edytując kategorię; identyfikator zostanie zapisany w pasku adresu Twojej przeglądarki. Na przykład dla mojej sekcji „Wiadomości z witryny” identyfikator będzie wynosić 24

Dzień dobry przyjaciele!

Jeśli masz problem z wyłączeniem komentarzy WordPress na swojej stronie, to dobrze trafiłeś.

Po przeczytaniu tej instrukcji będziesz mógł zabronić odwiedzającym pozostawianie komentarzy pod wszystkimi postami, a także pod każdym z osobna. Dodatkowo możesz usunąć formularz komentarza, który jest zupełnie niepotrzebny, jeśli dyskusja nad postami jest zamknięta.

Nie wiem, dlaczego musisz usuwać komentarze, ale jeśli o to chodzi, poniżej znajdziesz pełną instrukcję.

W większości przypadków w przypadku witryn informacyjnych nie polecam tego robić, ponieważ komentarze są jednym z tych czynników rankingowych, dzięki którym wyszukiwarki rozumieją, że jeśli na stronie toczy się dyskusja, to treść jest warta uwagi.

Jeśli masz jakąś witrynę, katalog lub katalog z wizytówkami, komentarze na temat takiego zasobu są całkowicie niepotrzebne, ponieważ nie będziesz otrzymywać nic oprócz spamu.

Wyłącz możliwość komentowania nowych artykułów

Działanie to jest pierwszym krokiem do całkowitego zablokowania komentarzy, gdyż w pierwszej kolejności należy zakazać pozostawiania komentarzy pod nowymi, a później już istniejącymi materiałami.

Wszystko odbywa się bardzo prosto poprzez panel administracyjny WordPress. Najpierw przejdź do pozycji „Ustawienia - Dyskusja” i zabraniaj pozostawiania komentarzy do nowych artykułów.

Usuwamy to pole wyboru, aby nie było znacznika wyboru. Teraz nowe artykuły nie powinny mieć formularza komentarza. Jeśli tak, przy próbie pozostawienia komentarza wyświetli się komunikat „Przepraszamy, dyskusja na temat tego wpisu została zamknięta”.

Jeśli formularz nie zniknie, oznacza to, że szablon jest tak zaprojektowany i w ostatnim akapicie artykułu wyjaśnię, jak go usunąć.

Wyłącz komentarze do wszystkich istniejących postów

Najpierw opiszę Ci wszystkie kroki, a następnie ponumeruję je na zrzucie ekranu, aby było to bardziej zrozumiałe.

  1. Do listy wszystkich rekordów przechodzimy poprzez pozycję „Rekordy - wszystkie rekordy”;
  2. Zaznacz wszystkie wpisy za pomocą pola wyboru;
  3. Wybierz, aby zmienić wszystkie rekordy;
  4. Zabraniamy komentowania i aktualizacji ustawień.

Zrzut ekranu można kliknąć. Można go obejrzeć w pełnym rozmiarze.

Zwróć uwagę, że na zrzucie ekranu widać blok edycji masowej, w którym możesz wyłączyć możliwość komentowania. W oryginalnej wersji, gdy po prostu przejdziesz do listy wszystkich rekordów, nie będzie jej tam. Pojawia się dopiero po trzeciej akcji, gdy wybierzemy opcję zmiany.

Przed masową edycją obejmującą wszystkie posty należy wyświetlić je na jednej stronie, tak aby wszystkie się wyróżniały, a zmiany zostały zastosowane do wszystkich postów na raz. Odbywa się to za pomocą ustawień wyświetlania (ustawień ekranu) w panelu administracyjnym.


Przycisk znajduje się na samej górze panelu administracyjnego, po prawej stronie. Ustaw własną liczbę wpisów. Jeśli chcesz wyłączyć 300 rekordów, ustaw tę wartość.

Następuje również proces wyłączania dyskusji dla stron usług (mapa witryny, kontakty itp.). Z reguły należy zawsze wyłączać dla nich komentarze, ponieważ nie nadają one witrynie żadnego znaczenia.

Wszystko odbywa się analogicznie jak w przypadku artykułów, tyle że przechodzimy do pozycji „Strony – wszystkie strony”.

Jeśli chcesz wrócić do komentowania, wszystko odbywa się w ten sam sposób, wystarczy wybrać element „Zezwalaj”.

Przyjrzyjmy się, jak wyłączyć komentarze do niektórych artykułów.

Usuń komentarze z niektórych postów i stron

Istnieje opcja, gdy chcesz wyłączyć dyskusje tylko w niektórych postach. Na przykład publikujesz na swoim blogu wiadomości o noworocznej wyprzedaży Twoich kursów informacyjnych. Po co komentować takie notatki? W takich przypadkach komentarze powinny zostać usunięte.

Możesz to zrobić:

  • poprzez listę wszystkich rekordów;
  • poprzez edytor postów.

Na liście wszystkich wpisów należy przejść do właściwości artykułu i usunąć pole wyboru z pozycji „Zezwalaj na komentarze”.

Możesz to zrobić również za pomocą edytora postów i jest to wygodniejsze, ponieważ możesz zamknąć dyskusję natychmiast w trakcie procesu publikowania. Aby to jednak zrobić, upewnij się, że element dyskusji jest wyświetlany w ustawieniach ekranu w edytorze.


Na dole pola wprowadzania tekstu powinien znajdować się blok o tej samej nazwie, w którym możesz usunąć pole wyboru i uniemożliwić odwiedzającym komunikację w serwisie.


To samo tyczy się stron.

Dla utrwalenia krótki film przedstawiający informacje opisane powyżej.

Pozostał jeszcze ostatni i być może najtrudniejszy krok.

Usunięcie formularza komentarza ze strony

Niestety nie we wszystkich szablonach, po wyłączeniu dyskusji formularz komentarza znika. Wciąż to mam. Jeśli Twój formularz nie zniknął i w ogóle go nie potrzebujesz, teraz postaram się szczegółowo wyjaśnić, jak usunąć go z witryny.

Niestety nie obejdzie się bez edycji plików szablonów, gdyż formularz wyświetla kod PHP, który należy usunąć z pliku. Problem w tym, że w każdym szablonie jest on wyświetlany inaczej. W przypadku niektórych jest on wyświetlany w osobnym pliku, a następnie po prostu ładowany z kodu PHP. W przypadku niektórych kod formularza będzie zawarty bezpośrednio w pliku wyjściowym rekordu.

Mój szablon wyświetla formularz jako drugą opcję, gdy kod formularza znajduje się bezpośrednio w pojedynczym poście i pliku strony. W szablonach WordPress, które są dostępne na stronie po zainstalowaniu silnika, formularz pochodzi z osobnego pliku. Ogólnie rzecz biorąc, teraz rozważę te 2 opcje.

Na początek zawsze polecam zajrzeć do plików stron (page.php) i pojedynczych postów (single.php) i poszukać w nich kodu wyświetlającego formularz. Jeśli taki istnieje, po prostu go usuń, a problem zostanie rozwiązany. W moim szablonie kod ten wyświetla się w całości przy wszystkich polach (wpisanie imienia, e-maila, strony internetowej i wiadomości).

Jest całkiem możliwe, że masz tę samą strukturę szablonu. Następnie idziesz do tych plików i szukasz kodu podobnego do tego na zrzucie ekranu powyżej (klikalnego). Kod zawsze będzie podobny i będzie w nim duża obecność słowa „komentarz”.

Jeśli istnieje, znajdź jego początek i koniec i usuń go do piekła...

Jeśli nie, całkiem możliwe jest wyprowadzenie formularza komentarza z innego pliku za pomocą funkcji. W standardowym szablonie Twentyfourteen robi się to w ten sposób.

Kod formularza znajduje się gdzieś w innym pliku (np. komentarze.php, komentarze-template.php). Ale ten kod jest nadal wysyłany do pojedynczego postu i strony. Szablon Twentyfourteen implementuje to w następujący sposób.


W tym przypadku w kodzie znajdują się również słowa „Komentarz”. Możesz go usunąć, ale nie jest to konieczne, ponieważ ten kod nie wyświetla formularza, gdy dyskusja jest wyłączona.

Może się zdarzyć sytuacja, że ​​w pliku pojedynczego wpisu (single.php) i strony (page.php) nie znajdziesz żadnego podobnego kodu, zarówno w pierwszym, jak i drugim przypadku. Następnie zostaje wyświetlony formularz wraz z treścią. To komplikuje sprawę, ponieważ niektóre szablony mogą mieć bardzo złożone funkcje renderujące treść. W tym przypadku sugeruję przejście do komentarzy.php, komentarze-template.php (lub podobnych) i poszukanie tam formularza.

Mogą zawierać więcej niż jeden wariant kodu. Następnie usuwasz w częściach i sprawdzasz, czy w Twojej witrynie znajduje się formularz komentarza. Zdecydowanie zalecam edycję plików na komputerze i wykonanie kopii zapasowych, aby w każdej chwili móc wszystko przywrócić na swoje miejsce.

Proces ten stwarza pewne trudności dla początkującego. Zwłaszcza jeśli szablon jest mylący. W każdym razie nie wyłączyłem komentarzy na mojej stronie. Dlatego jeśli pojawią się problemy, napisz swoje pytania.

To wszystko, przyjaciele. Do widzenia.

Pozdrawiam, Konstantin Chmelew!

Pozdrawiam Was drodzy przyjaciele! Dzisiaj opowiem Ci jak wykluczyć posty (pojedyncze posty), kategorie, linki, tagi ze strony głównej swojego bloga lub serwisu, jak wykluczyć je z kanału i wyników wyszukiwania bloga, z archiwów i kategorii. Można to zrobić osobno lub razem, jako kompleks.

Czyli na koniec otrzymamy mały i prosty fragment kodu, który na naszą prośbę wykluczy te artykuły, których z jakiegoś powodu nie chcemy pokazywać wszystkim odwiedzającym bloga, ale chcemy np. pokazać tylko wyodrębnionej grupie osób. Taki post można opatrzyć hasłem i rozesłać do subskrypcji...

Według mojego przewodnika krok po kroku każdy z Was będzie mógł zaimplementować tę funkcję na swoim blogu WordPress, bez użycia jakichkolwiek wtyczek, czyli nie wpłynie to w żaden sposób na prędkość ładowania.

Cóż, zaczynajmy! Potrzebujemy bloga na silniku WordPress, potrzebujemy odrobiny chęci i umiejętności skopiowania fragmentu tekstu z jednego dokumentu i wklejenia go do innego dokumentu. Masz to wszystko! więc chodźmy...

Problem ten można rozwiązać na kilka sposobów:

  • Dodając mały fragment kodu do plikufunctions.php (porozmawiajmy o tym);
  • Za pomocą bardziej złożonego przeprogramowania kodu szablonu (nie piszę takich podręczników, to nie jest format mojego bloga);
  • Korzystanie z wtyczki Simply Exclude (opowiem o tym na końcu)

Załóżmy więc, że napisałeś jakiś post i nie chcesz, aby pojawił się na stronie głównej bloga. Zatem wykonujemy następujące czynności:


2. A teraz każdy kod w kolejności ( jak wykluczyć rekordy):

Kod wykluczający rekordy (posty) ze strony głównej serwisu według identyfikatora


if ($query->is_home)
($zapytanie->
zwróć $zapytanie; )

Ta opcja kodu pomoże Ci usunąć dowolny post ze strony głównej Twojego bloga, niezależnie od tego, w jakiej kategorii się on znajduje, czyli nie wyklucza całej kategorii, a tylko ten konkretny post!

Kod wykluczający wpisy (posty) z kanału RSS bloga WordPress według identyfikatora

funkcja wyklucz_post($zapytanie) (
if ($query->is_feed)
($query->set("post__not_in", array(1146, 1199));) // identyfikator posta
zwróć $zapytanie; )
add_filter("pre_get_posts","exclude_post");

Ale za pomocą tej wersji kodu pokażę ci jak wykluczyć rekordy z kanału RSS Twojego bloga. Po co to jest? Tak, w bardzo prosty sposób, w ten prosty sposób możesz opóźnić publikację nowego artykułu w kanale, dzięki czemu nie zostanie on wysłany przez usługę Feedburner do subskrybentów i nie będzie dostępny do przeglądania przez programy czytników lub agregatory rss. Wszystko to jest konieczne tylko wtedy, gdy obawiasz się kradzieży treści za pośrednictwem RSS.

Faktem jest, że niektóre witryny mają bardzo wysokie prędkości indeksowania, ale w przypadku Twojego młodego bloga może to sięgać kilku dni. Źli ludzie nie wahają się urwać od ciebie twojego cholernego artykułu i opublikować go samodzielnie. Ten artykuł zostanie natychmiast uwzględniony w ich indeksie, a na Twoim blogu zostanie uznany za plagiat. Poza tym bez „tits10” nie będziesz w stanie zawczasu uchronić się przed tego rodzaju niesprawiedliwością.

Istnieją również specjalne wtyczki, które mogą opóźnić publikację artykułu w kanale o określony czas! W każdym razie to, czy skorzystać z tej funkcji, zależy od Ciebie. Kiedyś potrzebowałem napisać krótki post dla wąskiego kręgu osób, wykluczyłem go ze strony głównej i z kanału, po czym całkowicie usunąłem z publikacji i skasowałem. Zasadniczo był problem i rozwiązałem go w ten sposób!

Skopiuj kod, wklej go na samą górę pliku funkcje.php, podaj identyfikator postu i gotowe!

Jak nie wyświetlać postów na stronach archiwum lub kategorii według identyfikatora

funkcja wyklucz_post($zapytanie) (
if ($query->is_archive)
($query->set("post__not_in", array(1146, 1199));) // identyfikator posta
zwróć $zapytanie; )
add_filter("pre_get_posts","exclude_post");

Aby usunąć posty z kategorii wystarczy zmienić is_archive na is_category

Jak wykluczyć wpisy (posty) z wyników wyszukiwania blogów według identyfikatora

funkcja wyklucz_post($zapytanie) (
if ($query->is_search)
($query->set("post__not_in", array(1146, 1199));) // identyfikator posta
zwróć $zapytanie; )
add_filter("pre_get_posts","exclude_post");

Nie sprawdzałem jak to będzie działać np. z wyszukiwarką Yandex czy Google. Później popracuję nad tym i zrobię małą aktualizację wpisu lub napiszę w komentarzach. Wiem tylko, że będzie świetnie współpracować ze standardową wyszukiwarką WordPress. Wszyscy macie ten widget – „Wyszukiwanie bloga”!

Jak natychmiastowo wykluczyć post ze strony głównej, kanału rss i wyników wyszukiwania według identyfikatora

funkcja wyklucz_post($zapytanie) (
if ($query->is_feed || ($query->is_home || ($query->is_search)))
($query->set("post__not_in", array(1146, 1199));) // identyfikator posta
zwróć $zapytanie; )
add_filter("pre_get_posts","exclude_post");

Cóż, świetnie! Właśnie sprawdziłem wszystko jeszcze raz, każdy kod doskonale spełnia swoje zadanie. Ostatnia wersja kodu wyklucza każdy post, którego identyfikator zastąpisz, wyklucza go ze strony głównej Twojego bloga (kanał ogłoszeń artykułu), kanału rss (feed) i wyników wyszukiwania bloga!

Już pierwszy kod usunął post tylko z jednego miejsca, a mianowicie ze strony głównej (kanał ogłoszeń o artykule). Jeśli potrzebujesz kodu, który wykluczy Twój post tylko z dwóch miejsc na blogu, wyglądałoby to tak:

funkcja wyklucz_post($zapytanie) (
if ($query->is_feed || ($query->is_home))
($query->set("post__not_in", array(1146, 1199));) // identyfikator posta
zwróć $zapytanie; )
add_filter("pre_get_posts","exclude_post");

Jeśli chcesz, będziesz musiał jedynie zmienić następujące zmienne w drugiej linii, te w nawiasach - is_feed is_home is_search is_archive is_category

Jeśli coś nie jest jasne, pytaj!

Wszystkie te informacje dotyczą wykluczenia konkretnego wpisu według jego identyfikatora. Ale to nie wszystko, co można wykluczyć ze strony głównej bloga, z kanału i z wyników wyszukiwania. Teraz będziemy to nadal rozumieć!

Kochani, staram się pisać w sposób zrozumiały dla wszystkich, aby każdy bez wyjątku mógł wybrać taką wersję kodu, jakiej potrzebuje i zastosować ją na swojej stronie. Dlatego musiałam przejść bardzo długą drogę, nie uczę Cię, jak samodzielnie przemyśleć i napisać taki kod, daję Ci go gotowego, po prostu weź, wklej i używaj!

3. Następujący cykl opcji kodowych (z wyłączeniem kategorii):

Opcje wykluczania kategorii ze strony głównej, kanału i wyszukiwania według identyfikatora

Dokładnie w ten sam sposób możemy wykluczyć (usunąć) całe kategorie (nagłówki) ze strony głównej, z kanału i wyszukiwania, czyli wszystkie posty, które należą do określonej kategorii, zgodnie z ich identyfikatorem.

Jak wykluczyć kategorię ze strony głównej bloga WordPress


if ($query->is_home)
($zapytanie->
zwróć $zapytanie; )

Jak wykluczyć kategorię z kanału RSS bloga WordPress

funkcja wyklucz_cat($zapytanie) (
if ($query->is_feed)
($query->set("cat","-3, -5, -7");) // identyfikator kategorii
zwróć $zapytanie; )
add_filter("pre_get_posts","exclude_cat");

Jak nie wyświetlać kategorii w archiwach artykułów na blogu

funkcja wyklucz_cat($zapytanie) (
if ($query->is_archive)
($query->set("cat","-3, -5, -7");) // identyfikator kategorii
zwróć $zapytanie; )
add_filter("pre_get_posts","exclude_cat");

Jak wykluczyć kategorię z wyników wyszukiwania bloga WordPress

funkcja wyklucz_cat($zapytanie) (
if ($query->is_search)
($query->set("cat","-3, -5, -7");) // identyfikator kategorii
zwróć $zapytanie; )
add_filter("pre_get_posts","exclude_cat");

Jak wykluczyć kategorię z kanału RSS, strony głównej i wyników wyszukiwania

funkcja wyklucz_cat($zapytanie) (
if ($query->is_feed || ($query->is_home || ($query->is_search)))
($query->set("cat","-3, -5, -7");) // identyfikator kategorii
zwróć $zapytanie; )
add_filter("pre_get_posts","exclude_cat");

Jak wykluczyć kategorię ze strony głównej i kanału bloga WordPress

funkcja wyklucz_cat($zapytanie) (
if ($query->is_feed || ($query->is_home))
($query->set("cat","-3, -5, -7");) // identyfikator kategorii
zwróć $zapytanie; )
add_filter("pre_get_posts","exclude_cat");

Najczęściej ukrywają osobną kategorię, aby móc w niej umieszczać posty reklamowe i oddzielać je od ogólnej masy treści!

Jeśli chcesz usunąć np. kilka tysięcy artykułów ze strony głównej lub z innego miejsca, łatwiej jest wykluczyć ich kategorie. Jeśli są to posty selektywne, będziesz musiał ciężko pracować lub użyć specjalnej wtyczki. Chociaż nie będzie to dużo wygodniejsze, nadal będziesz musiał przejrzeć każdy artykuł i kliknąć pole wyboru.

Jeśli ukryjesz je ręcznie, wystarczy, że wejdziesz w zakładkę „Wszystkie posty” w konsoli bloga i najedziesz na nie jeden po drugim, sprawdzisz identyfikator i wkleisz je do kodu. Kilka tysięcy osób ID oczywiście znacznie powiększy kod, ale nawet to będzie znacznie prostsze niż kod całej wtyczki, która również korzysta z Bazy Danych.

4. Ostatnia część naszego poradnika (wykluczenie według tagu, wykluczenie przez wtyczkę):

Jak wykluczyć (usunąć) posty z określonym tagiem z głównego, kanału (kanała RSS) i wyników wyszukiwania według jego identyfikatora

W tym celu użyjemy następującego kodu:

funkcja wyklucz_post($zapytanie) (
if ($query->is_home) (
$tags = tablica("3", "7", "13"); // identyfikatory tagów
$query->set("tag_not_in", $tags);)
zwróć $zapytanie;)
add_filter("pre_get_posts","exclude_post");

Ten przykład natychmiast wykluczy artykuł ze wszystkich miejsc:

funkcja wyklucz_post($zapytanie) (
if ($query->is_feed || ($query->is_home || ($query->is_search)))
($tags = array("3", "7", "13"); // identyfikatory tagów
$query->set("tag_not_in", $tags);)
zwróć $zapytanie;)
add_filter("pre_get_posts","exclude_post");

Aby wykluczyć tylko z kanału lub tylko z wyników wyszukiwania, w pierwszej wersji kodu, w drugiej linii podstaw znane Ci już wartości is_feed is_home is_search is_archive is_category

Kolejna przydatna uwaga! Możesz dodać kilka różnych opcji kodu do swojego plikufunction.php i skomentować te, których nie chcesz używać.

Spójrzmy na przykład:

Wybierz wymagany fragment kodu → kliknij prawym przyciskiem myszy i wybierz → „Blok komentarza” → /*kod*/ (wykonane w edytorze tekstu PHP Expert Editor 4.3)

Używając programu Notatnik plus plus jako przykładu:

Mówiłem Ci, jak nie wyświetlać pojedynczych postów i całych kategorii na stronie głównej bloga, w Aktualnościach, archiwach, kategoriach i wynikach wyszukiwania bloga za pomocą prostego kodu. Ale warto też zaproponować rozwiązanie tego problemu za pomocą prostej wtyczki Simply Exclude.

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 wprowadzać 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 dodać w kodzie identyfikatory wymaganych rekordów.

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

if ($query -> 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ć poniższy 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 $zapytanie; ) 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 postu (postu) return $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 ($query -> 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 publikacji.

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), spowoduje to oznaczenie artykułu lub czegoś innego jako zabronionego 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 ukrywane. Jeżeli wybrana zostanie druga opcja „Uwzględnij tylko”, to po zainstalowaniu wtyczki wszystkie wpisy zostaną ukryte i konieczne będzie wybranie 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 umieścić pola wyboru przed tymi stronami, 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 „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.

Jednak 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!