Tovább a tartalomhoz

Korlátozás sablonfájlokban, widgetekben és a szerkesztődoboz elrejtése

Tartalom elrejtése PHP-feltételekkel a sablonban és a widgetekben, hozzászólás csak tagoknak, a kivonat hossza és a korlátozási doboz eltávolítása.

Ez a fejezet fejlesztői jellegű megoldásokat tartalmaz: saját kódot igényelnek, és a kód működéséért te felelsz. A sablonfájlokat mindig gyermektémában módosítsd, különben a téma frissítése felülírja a változtatásaidat.

A sablonfájlok egyes részeit a Restrict Content Pro függvényeivel rejtheted el a nem jogosultak elől.

A 3.0.5-ös vagy újabb verzióban az rcp_user_has_active_membership() függvényt használd. Régebbi verzióban az rcp_is_active() ugyanígy működik.

<?php if ( rcp_user_has_active_membership() ) : ?>
<p>Ez a rész csak az aktív tagoknak látszik.</p>
<?php endif; ?>

Az előző feltétel az aktív ingyenes tagokat is beengedi. Ha csak a fizetős tagságot akarod, használd az rcp_user_has_paid_membership() függvényt:

<?php if ( rcp_user_has_paid_membership() ) : ?>
<p>Ez a rész csak a fizetős tagoknak látszik.</p>
<?php endif; ?>

A 3.0.5-ös vagy újabb verzióban:

<?php if ( in_array( 2, rcp_get_customer_membership_level_ids() ) ) : ?>
<p>Ez a rész csak a 2-es azonosítójú szint tagjainak látszik.</p>
<?php endif; ?>

Régebbi verzióban:

<?php if ( rcp_is_active() && 2 == rcp_get_subscription_id() ) : ?>
<p>Ez a rész csak a 2-es azonosítójú szint aktív tagjainak látszik.</p>
<?php endif; ?>

Mindkét példában a 2 helyére a saját szinted azonosítóját írd.

A „Restrict this content” doboz beállításai szerint

Szekció neve “A „Restrict this content” doboz beállításai szerint”

Egyéni oldalsablonnál használhatod az rcp_user_can_access() függvényt. Azt ellenőrzi, hogy a jelenlegi felhasználó megnézheti-e az oldalt a Restrict this content doboz beállításai szerint:

<?php if ( rcp_user_can_access() ) : ?>
<p>Ez a rész azoknak látszik, akik megfelelnek a korlátozási doboz beállításainak.</p>
<?php endif; ?>

Az RCP_Member osztály szintén használható a hozzáférés ellenőrzésére.

Ha csak az aktív tagok írhassanak hozzászólást, a téma comments.php fájljában keresd meg ezt a sort (a fájl témánként eltér, de a szerkezete hasonló):

<?php comment_form(); ?>

és cseréld erre:

<?php if ( rcp_user_has_active_membership() ) : ?>
<?php comment_form(); ?>
<?php endif; ?>

A widgetek láthatóságát egy olyan külső bővítménnyel szabályozhatod, amely PHP-kódot fogad el feltételként. Ilyen például a Widget Options. A függvényekhez a Restrict Content Pro 3.0.5-ös vagy újabb verziója kell.

  1. Telepítsd és kapcsold be a bővítményt. Minden widget alján új beállításrész jelenik meg.
  2. Kattints a fogaskerék ikonra, majd a Logic fülre.
  3. Írd a szövegmezőbe a feltételt. A widget csak akkor jelenik meg, ha a kifejezés értéke igaz.
Mit akarsz Kifejezés
Csak az aktív tagoknak rcp_user_has_active_membership()
Csak azoknak, akiknek nincs aktív tagságuk ! rcp_user_has_active_membership()
Csak a fizetős aktív tagoknak rcp_user_has_paid_membership()
Csak az ingyenes aktív tagoknak rcp_user_has_free_membership()
Csak a 2-es azonosítójú szint tagjainak in_array( 2, rcp_get_customer_membership_level_ids() )
Ugyanez név szerint in_array( 'Gold', rcp_get_customer_membership_level_names() )
Az 1-es vagy 2-es szint tagjainak count( array_intersect( rcp_get_customer_membership_level_ids(), array( 1, 2 ) ) )
Az 1, 2 vagy 4 azonosítójú szintek tagjainak count( array_intersect( rcp_get_customer_membership_level_ids(), array( 1, 2, 4 ) ) )
A Bronze, Silver vagy Gold szint tagjainak count( array_intersect( rcp_get_customer_membership_level_names(), array( 'Bronze', 'Silver', 'Gold' ) ) )
Csak a lejárt tagoknak (például újra feliratkozásra buzdításhoz) rcp_user_has_expired_membership()

A ! jel tagadást jelent. Légy óvatos a kifejezések beírásakor: egy elírás üres (fehér) oldalt eredményezhet.

A Restrict Content Pro alapból 50 szavas kivonatot mutat a korlátozott tartalomból. Az rcp_filter_excerpt_length szűrővel módosíthatod:

function pw_rcp_custom_excerpt_length( $length ) {
return 100; // 100 szó
}
add_filter( 'rcp_filter_excerpt_length', 'pw_rcp_custom_excerpt_length' );

A korlátozási doboz eltávolítása egy tartalomtípusról

Szekció neve “A korlátozási doboz eltávolítása egy tartalomtípusról”

A Restrict this content doboz minden nyilvános tartalomtípus szerkesztőjében megjelenik. Az rcp_metabox_excluded_post_types szűrővel kivehetsz belőle típusokat. A szűrő egy tömböt kap, te hozzáadod a kizárandó típusok nevét:

function pippin_exclude_post_types_from_rcp( $post_types ) {
$post_types[] = 'books';
$post_types[] = 'page';
return $post_types;
}
add_filter( 'rcp_metabox_excluded_post_types', 'pippin_exclude_post_types_from_rcp' );

A példa a „books” és az oldal („page”) típusról tünteti el a dobozt. Annyi típust adhatsz meg, amennyit szeretnél.

Készült:

Tiszteletben tartjuk a magánszférádat

Sütiket használunk a böngészési élmény javítására és a forgalom elemzésére. Az analitika csak akkor indul, ha engeded. Adatvédelmi irányelvek, Sütitájékoztató.

Sütibeállítások