Zagracona strona główna lub archiwum bloga mogą przytłaczać odwiedzających. Wyświetlanie każdego postu nie zawsze jest idealnym rozwiązaniem, zwłaszcza jeśli masz ogłoszenia, strony docelowe lub inne treści, które nie są przeznaczone do ogólnego przeglądania.
Istnieje możliwość zabezpieczenia postów WordPress hasłem lub uczynienia ich prywatnymi. Jednak w niektórych przypadkach okazuje się, że lepiej jest po prostu ukryć post na stronie głównej, jednocześnie umożliwiając innym jego wyświetlenie, jeśli mają bezpośredni link.
W tym artykule pokażemy, jak ukryć wpisy z wybranych stron w WordPressie, takich jak strona główna, archiwa kategorii, wyniki wyszukiwania i inne.
Omówimy dwie różne metody ukrywania wpisów na stronie głównej. Możesz skorzystać z poniższych odnośników, aby przejść bezpośrednio do wybranej metody:
Metoda 1. Ukryj wpisy WordPress ze strony głównej za pomocą wtyczki
Ta metoda jest łatwiejsza i zalecana dla początkujących.
Pierwszą rzeczą, którą musisz zrobić, jest zainstalowanie i włączanie wtyczki WordPress Hide Posts. Aby uzyskać więcej informacji, zobacz nasz przewodnik krok po kroku, jak zainstalować wtyczkę WordPress.
Po włączeniu wtyczki, edytuj wpis, który chcesz ukryć. Powiadomienie pojawi się w sekcji „Ukryj wpisy” w prawej kolumnie edytora.
Kliknięcie go spowoduje wyświetlenie opcji wtyczki. Możesz ukryć wpis na stronie głównej i stronie bloga, stronach kategorii lub tagów, stronie autora i wynikach wyszukiwania witryny.
Po prostu wybierz opcje, które Ci się podobają, a następnie zapisz swój wpis.
W zależności od wybranych opcji, możesz teraz przejść na te strony, a dany wpis nie pojawi się na liście.
Wszyscy użytkownicy, którzy mają bezpośredni adres URL wpisu(permalink), nadal mogą go zobaczyć, wpisz adres URL.
Chociaż ta metoda jest najłatwiejsza, brakuje w niej kilku zaawansowanych opcji.
Na przykład nie można ukryć strony lub własnego typu treści, takiego jak produkty WooCommerce. Nie ma również opcji ukrycia wpisu z kanału RSS WordPress.
Metoda 2. Ręczne ukrywanie wpisów i stron WordPressa
Ta metoda wymaga dodania kodu do twojej witryny WordPress. Jeśli nie robiłeś tego wcześniej, zapoznaj się z naszym przewodnikiem na temat kopiowania i wklejania fragmentów kodu w WordPress.
WordPress używa zapytania do bazy danych, aby pobrać i wyświetlić wpisy na podstawie strony, którą zobaczył użytkownik. Zapewnia również wbudowane haki do modyfikowania zapytania przed jego uruchomieniem.
Użyjemy tych haków, aby zmodyfikować zapytanie WordPress i ukryć wpisy WordPress, strony i własne typy treści w różnych sekcjach.
Możesz dodać własny kod za pomocą wtyczki fragmentów kodu, która jest najbezpieczniejszą opcją i nie zepsuje twojej witryny. Alternatywnie możesz dodać własny kod do pliku functions. php twojego motywu lub wtyczki specyficznej dla witryny.
Będziesz także potrzebował identyfikatorów wpisów lub stron, które chcesz ukryć. Mamy krótki poradnik, jak znaleźć identyfikator wpisu w WordPressie, który pokazuje, jak uzyskać te informacje.
Zasadniczo wystarczy edytować wpis lub stronę, aby zobaczyć jej identyfikator w pasku adresu twojej przeglądarki.
To powiedziawszy, przejdźmy do części kodowej.
Ukryj wpisy lub strony WordPress na stronie głównej
Poniższy kod używa tagu warunkowego is_home(), aby sprawdzić, czy użytkownik zobaczył stronę główną. Jeśli tak, to wyklucza identyfikatory wpisów z zapytania.
function wpb_exclude_from_home($query) {
if ($query->is_home() ) {
$query->set('post__not_in', array(1737, 1718));
}
}
add_action('pre_get_posts', 'wpb_exclude_from_home');
Nie zapomnij zastąpić identyfikatorów wewnątrz tablicy rzeczywistymi identyfikatorami wpisów lub stron, które chcesz wykluczyć.
Ponownie, zalecamy użycie wtyczki fragmentów kodu, takiej jak WPCode, aby łatwo i bezpiecznie dodać ten kod w WordPress.
Aby rozpocząć, należy zainstalować i włączyć bezpłatną wtyczkę WPCode. Aby uzyskać instrukcje, zobacz ten przewodnik na temat instalacji wtyczki WordPress.
Po włączaniu wtyczki kliknij pozycję menu Code Snippets na twoim kokpicie WordPress. Następnie kliknij przycisk „Utwórz nowy”.
Następnie znajdź opcję „Add Your Custom Code (New Snippet)” i kliknij znajdujący się pod nią przycisk „Use snippet”.
Następnie należy wybrać „Fragment kodu PHP” jako typ kodu.
Teraz zostaniesz przeniesiony na stronę „Utwórz niestandardowy fragment kodu”. Możesz zacząć od dodania tytułu fragmentu kodu. Może to być cokolwiek, co pomoże ci zapamiętać, do czego służy kod.
Następnie wystarczy wkleić powyższy kod w polu „Podgląd kodu”.
Następnie przełącz przełącznik z „Nieaktywny” na „Aktywny” i kliknij przycisk „Zapisz fragment kodu”.
Następnie pokażemy kilka dodatkowych opcji ukrywania wpisów lub stron WordPress. Możesz wykonać te same kroki, co powyżej, aby dodać te fragmenty kodu w WordPressie za pomocą WPCode.
Ukryj wpisy lub strony WordPress z kanału RSS
Jeśli chcesz ukryć wpis WordPress ze strony głównej, a także kanał RSS WordPress, możesz po prostu użyć tagu warunkowego is_feed w kodzie.
function wpb_exclude_from_feed($query) {
if ($query->is_feed() ) {
$query->set('post__not_in', array(1737, 1718));
}
}
add_action('pre_get_posts', 'wpb_exclude_from_feed');
Teraz, jeśli logujesz się jako administrator i próbujesz przejść na twój kanał RSS WordPress, nadal będziesz widział wpisy tam wpisane. Inni użytkownicy nie będą mogli zobaczyć wykluczonych wpisów, gdy zobaczą twój kanał RSS.
Ukryj wpis lub stronę WordPress przed wyszukiwaniem witrynowym
A gdybyś chciał ukryć określone wpisy przed wyszukiwaniem w witrynie WordPress? Aby to zrobić, wystarczy dodać do kodu tag warunkowy is_search.
function wpb_exclude_from_search($query) {
if ( $query->is_search() ) {
$query->set('post__not_in', array(1737, 1718));
}
}
add_action('pre_get_posts', 'wpb_exclude_from_search');
Możesz teraz przejść na twoją witrynę internetową i wyszukać wpisy, które chciałeś ukryć. Nawet jeśli wpisy te są publiczne, nie pojawią się w wynikach wyszukiwania.
Ukryj wpis lub stronę WordPress z archiwum
Jak ukryć określone wpisy lub strony WordPress z archiwów, takich jak archiwa kategorii, tagów i dat? Aby to zrobić, użyjemy tagu warunkowego is_archive().
function wpb_exclude_from_archives($query) {
if ( $query->is_archive() ) {
$query->set('post__not_in', array(1737, 1718));
}
}
add_action('pre_get_posts', 'wpb_exclude_from_archives');
Ukrywanie wpisów lub stron WordPress z dowolnego miejsca
Do tej pory dowiedzieliśmy się, jak ukryć wpis lub stronę WordPress z określonych obszarów. A co teraz z całkowitym ukryciem wpisu WordPress ze wszystkich tych obszarów jednocześnie?
Aby to zrobić, można połączyć wszystkie tagi warunkowe, których używaliśmy wcześniej w jednym fragmencie kodu.
function wpb_exclude_from_everywhere($query) {
if ( $query->is_home() || $query->is_feed() || $query->is_search() || $query->is_archive() ) {
$query->set('post__not_in', array(1737, 1718));
}
}
add_action('pre_get_posts', 'wpb_exclude_from_everywhere');
Ten kod ukryje dane wpisy ze strony głównej, kanału RSS, wyników wyszukiwania i stron archiwum.
Kontrolowanie widoczności treści w WordPressie
Wpisy lub strony WordPress można ukryć za pomocą dwóch metod, które opisaliśmy powyżej. Ale zanim przejdziesz dalej, odpowiemy również na niektóre z najczęściej zadawanych pytań dotyczących opcji kontroli widoczności treści w WordPress.
Czy te metody doskonale ukrywają treść?
Nie, nie mają.
Na przykład, wyszukiwarki mogą już zaindeksować wpis, zanim będzie można go ukryć. Jeśli chcesz zapobiec wyszukiwarkom, zapoznaj się z naszym przewodnikiem na temat ukrywania strony WordPress przed Google.
Nie zadziała to również, jeśli wtyczka WordPress używa własnego zapytania, które pomija twoje kontrole i ujawnia treść, którą próbujesz ukryć.
Lepszym podejściem byłoby zabezpieczenie wpisu hasłem, aby tylko użytkownicy z hasłem mogli go zobaczyć.
Możesz również utworzyć wpis prywatny, który będzie widoczny tylko dla administratorów, redaktorów i autorów Twojej witryny internetowej.
Czy mogę użyć tych metod do tworzenia treści dla określonych użytkowników?
Nie, te metody nie pozwalają na efektywne udostępnianie treści konkretnym użytkownikom. Lepszym podejściem byłoby użycie wtyczki członkostwa WordPress.
Wtyczki członkowskie, takie jak MemberPress, umożliwiają tworzenie i publikowanie treści o ograniczonym dostępie. Możesz nawet sprzedawać plany subskrypcji, aby uzyskać dostęp do treści premium.
Aby uzyskać więcej informacji, zapoznaj się z naszym przewodnikiem na temat tworzenia witryny członkowskiej WordPress z instrukcjami krok po kroku.
Mamy nadzieję, że ten artykuł pomógł ci dowiedzieć się, jak ukryć post WordPress na stronie głównej i w innych obszarach witryny. Możesz również zapoznać się z naszym przewodnikiem na temat tego, jak uczynić witrynę WordPress całkowicie prywatną lub z naszymi eksperckimi wyborami najlepszych popularnych wtyczek postów dla WordPress.
If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.
Jiří Vaněk
Thanks for the plugin tip. I personally use the Category Excluder plugin, but it removes the entire category from the homepage, and that doesn’t always work for me. I will try your plugin so that I don’t always have to select the whole category but only an individual article. That suits me much better.
Amit
Hiding a post with this plugin, does it prevent search engine from crawling and indexing the post? Does it prevent the post’s google search?? Please let me know.
WPBeginner Support
No, it would not, this would be for excluding the post from your home page, not preventing it from being crawled.
Administrator
Najeeb Mirani
Very helpful, thank you!
WPBeginner Support
You’re welcome
Administrator
Rakesh
Is there any way to hide specific post from only home page latest post section but not from sidebar recent post widget?
WPBeginner Support
It sounds like you would want to use the plugin method from the article.
Administrator
Dale
This plugin no longer works. I have been searching for an alternative but haven’t found one yet. Would love an update to this post.
WPBeginner Support
Thank you for letting us know, we will certainly take a look at this plugin and update this article.
Administrator
Gino
Plugin no longer works for recent and latest Wordpress updates. Time to update this article!
WPBeginner Support
Thank you for letting us know, we will be sure to take a look into alternatives.
Administrator
Sheila
I would be interested in an alternative too. This plug in sounded like exactly what I needed.
Kelsey
I would just use the PHP snippet mentioned above and post it in your child theme functions.php file. That’s what I did to hide my post.
Daniel
My only gripe is that the category post count in my category menu is incremented, even though the post can’t be shown this way. . Other than that, it is perfect.
Adri
Very helpful, thank you!
Dada
Hi, is google still can index the hidden post? Because i still want people can search my post on google search but not show on frontpage?
Raj
how to remove page 1 2 3 4 5 6 7…………last from homepage
campbell
Hi, I am wanting to keep my blog posts visible on my blog page but hidden/removed on my homepage. I downloaded the plugin and followed the instructions. When I checked „hide from front page” my blog post was removed from my blog page and not the homepage, so the opposite of what I want. How can I achieve this? Thanks!
ted bergman
Thank you for this incredibly valuable site! When I need to know how to do something in Word Press, I first come here. You usually have the best and easiest to understand answer.
Gregory
Works just like the tutorial says. WP 4.8
Jason
The issue with the plugin is that if you want to have a category page show posts, then you have to leave that unchecked and „recent posts” will then pick it up and show up in all your side bars and footers
Munna Hossain
This is really a great plugin. It works for me. But I don’t know why the authority doesn’t update this plugin. It still working properly.
Thanks for your excellent artcle.
coated pill
Is there another way to hide particular post since this is not working in my end .
A simple tutorial might help too if I need to alter on some codes on the themes .
Thanks
Mario von Gollaz
The thing is that there is no real alternative to WP Hide Post. Or is there an alternative? Also WP Hide Post seems to be quite outdated (not updated since quite a while).
Shakir Hassan
Hi,
I’ve hide one of my blog posts from my Homepage, but still, it’s showing on Related Post section area below other blog posts.
What should I do to get rid of it?
WPBeginner, your answer is needed.
Thanks.
Scott
Another option isn’t too hide it per se but to re-schedule it to publish on a later date. I think that will effectively do the same thing…at least it did on my site just now.
Allie Mackin
I did what Scott suggested rescheduled the post for a later date. I went through the trouble of downloading and installing this app and it did not work. When I all I had to do is reschedule for a future date. Mission accomplished sans app.
Roshan Roy
how to filter those posts which was hide by WP HIDE POST plugin in admin panel.
Stephen Walker
Comment by:
Just the answer I had been looking for.
Thank You wpBeginners
Dawn Cunnane
I really needed this to hide one post from the categories menu and it worked like a charm, thank you!
TW
This plugin has not been updated in 2 years. Surprised you are recommending it.
Arevico
This is a perfect example of something I would rather have in the WordPress core than in the plugin domain. Normally, I develop my own themes and solve this by using categories. f.e how shows only most recents posts in the category 'home’ or not in the category 'invisible’ ,etc. This plugin help a great deal when you don’t develop your own the,e
Brian Jackson
I agree Arevico. This should definitely be part of WordPress core by now. An example just this week… I run a marketing blog, but I am doing a review on a standing desk. Since it is a little outside of my niche of readers I am publishing it without having it show up on the homepage. I want to rank for it, but don’t want to lose readers.