Limitarea accesului la articole/pagini în funcție de rolurile utilizatorilor

2 aug. 2012, 11:20:06
Vizualizări: 24.9K
Voturi: 5

Caut o modalitate de a proteja conținutul în funcție de rolurile utilizatorilor.

Exemplu:

trebuie să fii înregistrat pentru a vizualiza articolele (frontend).

Dacă un utilizator este abonat poate citi articolele 1, 2 și 3, dar dacă utilizatorul este contributor poate vedea articolele 1,2,3 și 4,5,6...

știe cineva cum pot face acest lucru?

0
Toate răspunsurile la întrebare 3
0

poți folosi astfel de condiții pentru a afișa postări private doar utilizatorilor autentificați cu rolul de contributor. Acum trebuie doar să faci postarea private pentru a o face disponibilă contributorului.

<?php 
    if ( have_posts() ) : while ( have_posts() ) : the_post();
        $private = get_post_custom_values("private");
        if (isset($private[0]) && $private == "true") {

            if ( current_user_can( 'contributor' ) ) { //trecerea rolului poate uneori să nu funcționeze
            the_title();
            the_content();
            } else {            // textul care se afișează în locul postării
                echo 'această postare este privată, doar contributorii o pot vizualiza';
            }

        } else {        // aceasta este vizibilă pentru toți
            the_title();
            the_content();
        }

    endwhile; 
    endif; 
?>
2 aug. 2012 12:23:30
5

Deși nu am folosit personal acest lucru, probabil că te uiți la un plugin precum acesta

Pare să ofere toată funcționalitatea pe care ai cerut-o mai sus.

2 aug. 2012 11:26:12
Comentarii

Tocmai am încercat acest plugin. Nu face exact ce am nevoie, dar aproape... sau... este prea complicat!!

Demilio Demilio
2 aug. 2012 11:30:05

Tocmai am instalat plugin-ul și este foarte ușor de configurat accesul la anumite articole pentru abonați și apoi de oferit mai multe drepturi contributorilor.

Vince P Vince P
2 aug. 2012 11:48:07

da, în backend, dar am nevoie să definesc accesul în frontend. Cine poate sau nu poate citi articole, definit în funcție de rolurile utilizatorilor.

Demilio Demilio
2 aug. 2012 11:56:19

Da, poți face asta cu pluginul (Vezi captura de ecran la http://s.wordpress.org/extend/plugins/advanced-access-manager/screenshot-4.jpg?r=580686)

Vince P Vince P
2 aug. 2012 12:22:33

Nicio problemă, mă bucur că ai găsit în final! :)

Vince P Vince P
2 aug. 2012 12:37:45
0

Pentru a realiza ceva similar, puteți face unele articole private și le puteți afișa doar utilizatorilor autentificați. Mai întâi trebuie să adăugați un câmp personalizat, pe care îl puteți numi "private" și să-i setați valoarea la "True". Apoi înlocuiți bucla WP implicită cu acest fragment de cod:

    <?php if (have_posts()) : while (have_posts()) : the_post();

    $private = get_post_custom_values("private");
    if (isset($private[0]) && $private == "true") {
        if (is_user_logged_in()) {
            // Afișează articolul privat pentru utilizatorul autentificat
        }
    } else {
        // Afișează articolul public pentru toată lumea
    }

endwhile; endif; ?>
7 feb. 2016 15:55:40