Ograniczanie dostępu do stron WordPress i tworzenie obszaru członkowskiego
Opublikowany: 2016-02-10Chcesz opublikować kursy premium lub jakiś produkt informacyjny? Możesz ograniczyć zawartość WordPressa tylko dla tych czytelników/członków, którzy za to płacą. I ukryj treści dla zwykłych odwiedzających. Dzięki WordPress możesz łatwo chronić takie informacje, korzystając z różnych ograniczeń treści, które WordPress obsługuje od razu po wyjęciu z pudełka lub za pomocą wtyczek.
Omówimy te różne metody w tym artykule. Omówimy:
- Różnica między stronami chronionymi hasłem a prywatnymi (i gdzie oba rozwiązania są niewystarczające)
- 2-minutowy hack umożliwiający utworzenie prostego obszaru członkowskiego w witrynie WordPress (bez użycia wtyczki)
- Wyświetlanie artykułów z bazy wiedzy w Obszarze członkowskim (ta sekcja jest dla Ciebie, JEŚLI korzystasz z naszego motywu KnowAll lub rozwiązania Heroic Knowledge Base)
- Darmowe wtyczki, które pomogą Ci kontrolować dostęp do stron, postów i innych treści Twojej witryny
Zacznijmy od zrozumienia różnicy między treściami chronionymi hasłem a treściami prywatnymi.
Zbuduj w prosty sposób prywatną bazę wiedzy z możliwością przeszukiwania dzięki Heroic Knowledge Base.
Pobierz wtyczkęOchrona hasłem a prywatna
Najprostszym sposobem ograniczenia dostępu do określonej strony (lub innej zawartości posta) jest użycie różnych ustawień „ Widoczność ”, które domyślnie zapewnia WordPress.
Możesz znaleźć te opcje w prawym panelu, gdziekolwiek dodasz nową stronę lub post:

W ustawieniach Widoczności dostępne są 3 opcje widoczności strony (lub postu):
- Publiczny — przy tym ustawieniu domyślnym zawartość jest dostępna dla wszystkich odwiedzających witrynę
- Ochrona hasłem – tutaj tylko czytelnicy posiadający hasło do strony (lub postu) mogą odblokować dostęp do treści
- Prywatne — ta opcja zapewnia dostęp określonym użytkownikom na podstawie ich roli
Druga i trzecia opcja widoczności pozwalają ograniczyć niektóre treści.
Zobaczmy jak:
1. Ochrona hasłem stron/postów
Jest to bardzo prosta opcja, dająca możliwość zabezpieczenia hasłem poszczególnych stron i postów poprzez proste przypisanie hasła do tej strony (lub postu).
Każdy, kto zna hasło (hasła) może uzyskać dostęp do treści.
Teraz ta opcja działa, jeśli masz stronę lub dwie, które chcesz ukryć przed opinią publiczną. Jednak możesz sobie wyobrazić, że jeśli masz setki artykułów do ochrony, będziesz musiał utrzymywać i rozpowszechniać setki haseł wśród wszystkich uprawnionych czytelników.
Innym problemem związanym z tą metodą jest to, że jeśli użytkownik znajdzie taką zawartość lub kliknie łącze do takiej strony chronionej hasłem, zobaczy ekran z prośbą o podanie hasła, dzięki czemu będzie wiedział, że w Twojej witrynie znajduje się jakaś chroniona lub ekskluzywna zawartość . Tak więc, jeśli nie chcesz, aby ludzie, którzy nie mają dostępu, dowiedzieli się o tych treściach, ta metoda nie rozwiąże twojego celu.
Poniższy zrzut ekranu przedstawia przykład zasobu chronionego hasłem:

Ponadto zabezpieczenie strony hasłem nie powoduje usunięcia tej strony z witryny, jeśli nie masz uprawnień do jej przeglądania. Zamiast tego na początku tytułu dodaje się słowo „ Protected: ”, co ma swoje zastosowania, ale nie jest to idealne rozwiązanie, jeśli nie chcesz, aby ludzie wiedzieli, że w witrynie znajdują się prywatne treści.

2) Oznaczanie stron/postów jako prywatnych
Strony prywatne nie wymagają indywidualnych haseł do odblokowania. Dostęp do takich stron jest przyznawany po sprawdzeniu roli użytkownika. Zazwyczaj tylko administratorzy witryny lub redaktorzy mogą wyświetlać takie prywatne strony.
Oto jak wygląda strona oznaczona jako prywatna:

Inną dużą różnicą między stronami chronionymi hasłem a prywatnymi jest to, że jeśli nie masz wystarczających uprawnień do przeglądania strony, nie wyświetli się ona nigdzie w witrynie.
Jest to szczególnie przydatne, jeśli nie chcesz, aby przeciętny użytkownik witryny wiedział, że w witrynie znajdują się dodatkowe treści.

Jest jasne:
Z tych dwóch opcji tylko ustawienie Widoczność prywatna ma sens, jeśli chcesz ograniczyć dużą ilość treści w swojej witrynie.
Ale jak możesz powiedzieć, nie możesz dać każdemu użytkownikowi dostępu na poziomie administratora lub redaktora w swojej witrynie. Co oznacza, że musisz wprowadzić kolejny poziom członkostwa ( subskrybenci ). A następnie ustaw poziom widoczności stron prywatnych na poziom subskrybentów. W ten sposób wszyscy Twoi subskrybenci będą mogli uzyskać dostęp do wszystkich treści objętych ograniczeniami.
Oto, jak możesz wdrożyć ten prosty system dostępu, konfigurując Obszar Członkowski:
Tworzenie prostego Obszaru Członkowskiego
Najpierw utwórz zestaw stron, które będą dostępne tylko dla członków. Ustaw wszystkie te strony jako prywatne.
Aby to zrobić, musisz dodać nową funkcję i akcję do pliku functions.php w swoim motywie.
Przejdź więc do pliku functions.php w swoim motywie i dodaj do niego następujący kod:
/**
* Add read_private_posts capability to subscriber
* Note this is saves capability to the database on admin_init, so consider doing this once on theme/plugin activation
*/
add_action ('admin_init','add_sub_caps');
function add_sub_caps() {
global $wp_roles;
$role = get_role('subscriber');
$role->add_cap('read_private_posts');
}Wszystko to zmienia możliwości (uprawnienia) przypisane do roli Subskrybenta, aby uwzględnić możliwość czytania prywatnych postów. Zwróć uwagę, że jest to jednorazowa akcja, więc prawdopodobnie lepiej przeprowadzić aktywację motywu/wtyczki lub zakomentować kod po zakończeniu. Zapoznaj się z wytycznymi Kodeksu dotyczącymi add_cap. Ponadto, jeśli chcesz usunąć tę możliwość, musisz zmienić kod, aby używał funkcji remove_cap.

Konfigurowanie logowania do Obszaru Członkowskiego
Teraz, gdy Twój Obszar Członkowski jest gotowy, nadszedł czas, aby ułatwić subskrybentom zalogowanie się. Oczywiście Twoi użytkownicy mogą skorzystać z linku twojastrona.com/wp-login.php, ale zgodzisz się, że to nie jest bardzo przyjazny dla użytkownika.
Aby skonfigurować przyjazne dla użytkownika pola logowania, możesz użyć wtyczki Styler strony logowania.
Styler strony logowania umożliwia projektowanie stron logowania do witryny WordPress. Możesz po prostu dodać element o nazwie „Login” do swojego menu głównego i połączyć go z niestandardową stroną logowania zaprojektowaną za pomocą Stylera strony logowania.
Istnieje również kilka innych wtyczek, ale większość z nich nie była aktualizowana od co najmniej roku, więc upewnij się, że są kompatybilne przed ich użyciem.
Po udostępnieniu swoich prywatnych treści subskrybentom za pomocą przyjaznego ekranu logowania, powinno być gotowe.
W następnej sekcji zobaczymy, w jaki sposób możesz sprawić, by artykuły z Bazy wiedzy (oparte na Heroic Knowledge Base) pojawiły się w Twoim Obszarze Członkowskim.
Zapewnienie Obszaru Członkowskiego, aby zawierał artykuły z Heroicznej Bazy Wiedzy
Jeśli korzystasz z naszego motywu KnowAll lub wtyczki Heroic Knowledge Base, aby zasilić bazę wiedzy swojej witryny, możesz udostępnić treści wsparcia swoim subskrybentom bezpośrednio w Obszarze Członkowskim!
Zacznij od zainstalowania wtyczki Advanced Custom Fields.
Wcześniej stworzyliśmy niestandardową grupę pól o nazwie „ Opcje produktu ”.
W tym samouczku zmieniam nazwę „Opcje produktu” na „ Kategorie bazy wiedzy ”. Następną rzeczą do zrobienia jest edycja tej grupy, aby zawierała zarówno strony, jak i posty. Obecnie pole niestandardowe jest wyświetlane tylko wtedy, gdy typem wpisu jest produkt. Ale teraz chcemy mieć możliwość zastosowania go również do stron.
Aby to zrobić, przejdź do pól niestandardowych w panelu administracyjnym i edytuj Opcje produktu.

Po skonfigurowaniu utwórz artykuły z bazy wiedzy, które zamierzasz udostępnić tylko płatnym członkom. Ustaw wszystkie te strony jako prywatne, aby nie można było do nich uzyskać bezpośredniego dostępu. Przypisz je do kategorii, powiedz „ Kategoria treści z ograniczeniami ”. Później możesz wybrać tę kategorię, która będzie wyświetlana na Twoich ograniczonych stronach.

Ostatnim krokiem jest zmiana pliku page.php, aby wyświetlał wybraną kategorię.
W tym celu wrócimy do funkcji, którą stworzyliśmy, aby wypełnić trzecią zakładkę WooCommerce artykułami z Bazy wiedzy z mojego wcześniejszego wpisu. Możesz to ponownie wykorzystać tutaj. Po prostu powtórz funkcję w page.php w motywie potomnym, aby wyświetlić wybraną kategorię artykułów dla dowolnej strony.
Twój kod page.php powinien wyglądać tak:
<?php get_header(); ?>
<div id="primary" class="content-area">
<main id="main" class="site-main" role="main">
<?php
//loop start
while ( have_posts() ) : the_post();
//include the page content template.
get_template_part( 'template-parts/content', 'page' );
//check and load the woo_knowledge_base_content
if( function_exists( 'woo_knowledge_base_content' ) ){
echo woo_knowledge_base_content();
} else {
echo 'function woo_knowledge_base_content() missing';
}
//load comment template
if ( comments_open() || get_comments_number() ) {
comments_template();
} //loop end
endwhile;
?>
</main><!-- .site-main -->
<?php get_sidebar( 'content-bottom' ); ?>
</div> <!-- .content-area -->
<?php get_sidebar(); ?>
<?php get_footer(); ?>Jedyna zmieniona linia to
echo woo_knowledge_base_content();
Twoja strona powinna teraz zawierać wybraną kategorię artykułów z bazy wiedzy i wyglądać mniej więcej tak:

Dzięki temu powinieneś z powodzeniem wyświetlać artykuły z Twojej bazy wiedzy w Obszarze Członkowskim Twojej witryny.
Kilka darmowych wtyczek do ograniczania treści w witrynie WordPress
Jeśli nie chcesz kodować, rozważ zainstalowanie jednej z poniższych wtyczek. Wszystkie z nich mogą pomóc w ochronie treści przed niezarejestrowanych użytkownikami.
Płatne członkostwo Pro
Dzięki Paid Memberships Pro możesz mieć pewność, że tylko Twoi członkowie będą mieli dostęp do różnych składników Twojej witryny, takich jak strony, posty, kategorie, fora, pliki do pobrania, zawartość pomocy i nie tylko.
s2Member
s2Member to kolejna lekka wtyczka WordPress, która umożliwia ograniczenie treści. Korzystając z s2Member, możesz ograniczyć dostęp do swoich postów, stron, kategorii, tagów, plików do pobrania, forów i innych plików tylko do zarejestrowanych użytkowników.
Proste członkostwo
Proste członkostwo jest dostarczane z przyjaznym pulpitem nawigacyjnym, który pozwala chronić treści dostępne wyłącznie dla członków, takie jak posty, strony, galerie zdjęć, załączniki i inne, przed zwykłymi odwiedzającymi witrynę.
Oprócz tego możesz również sprawdzić Członków WP oraz Ograniczenie członkostwa i treści - Płatne subskrypcje członkowskie. Nawet te wtyczki pomagają blokować treści premium, umożliwiając dostęp tylko zarejestrowanym użytkownikom.
Podsumowując…
W zależności od celów możesz potrzebować czegoś od podstawowych do zaawansowanych funkcji ograniczania treści. Ale teraz wiesz, jak samodzielnie zaimplementować prosty Obszar Członkowski. Znasz nawet najlepsze wtyczki do wyboru.
Wypróbuj kod lub wtyczki i podziel się swoimi doświadczeniami poniżej.
