Un utente ha chiesto informazioni su Developing with WordPress di Wordpress

Convinci gli iscritti a visualizzare i post privati

Un utente ha chiesto 👇

Ciao Devi cambiare i miei livelli di accesso utente a Divi / WP.
Ho aggiunto un tema figlio Divi.
Ora ho bisogno di uno snippet di codice da inserire nel file delle funzioni.
Questo è quello che ho provato ma non è riuscito. Qualcuno può spiegare se questo può essere fatto?

/ *
* Rendi i post privati ​​visibili agli abbonati
* Di solito è visibile solo all’amministrazione o all’editor
* /
funzione whitespider_private_posts_subscribers () {
$ subRole = get_role (‘sottoscrittore’);
$ subRole-> add_cap (‘read_private_posts’);
$ subRole-> add_cap (‘read_private_pages’);
}
add_action (‘init’, ‘ws_private_posts_subscribers’);
?>

Da non perdere, miglior Nick

Lanciatore di thread

(@nicallen)

1 anno, 4 mesi fa

Ho trovato uno snippet che funziona come un file di funzioni Divi Child. Grazie

function my_et_enqueue_styles () {
wp_enqueue_style (‘parent style’, get_template_directory_uri (). ‘/style.css’);
wp_enqueue_script (‘divi’, get_stylesheet_directory_uri (). ‘/js/scripts.js’, edit (‘jquery’, ‘divi-custom-script’), ‘0.1.1’, true);
}
add_action (‘wp_enqueue_scripts’, ‘my_et_enqueue_styles’);

/ * === Metti le tue funzioni sotto questa riga ===
* ——————————————— * *
// Consenti agli iscritti di visualizzare i post e le pagine private

$ subRole = get_role (‘iscritto’);
$ subRole-> add_cap (‘read_private_posts’);
$ subRole-> add_cap (‘read_private_pages’);
// Reindirizzato alla home page al momento del login
funzione loginRedirect ($ redirect_to, $ request_redirect_to, $ user) {
if (is_a ($ user, ‘WP_User’) && $ user-> has_cap (‘edit_posts’) === false) {
get get_bloginfo (‘siteurl’);
}
return $ redirect_to; }

add_filter (‘login_redirect’, ‘loginRedirect’, 10, 3);

Lanciatore di thread

(@nicallen)

1 anno, 4 mesi fa

Come posso estenderlo in modo da includere sia gli iscritti che gli autori, ma consentire comunque loro di pubblicare?
Funzionerebbe?

$ subRole = get_role (‘autore’);
$ subRole-> add_cap (‘read_private_posts’);
$ subRole-> add_cap (‘read_private_pages’);
// Reindirizza alla home page all’accesso
funzione loginRedirect ($ redirect_to, $ request_redirect_to, $ user) {
if (is_a ($ user, ‘WP_User’) && $ user-> has_cap (‘edit_posts’) === true) {
get get_bloginfo (‘siteurl’);
}
return $ redirect_to; }

add_filter (‘login_redirect’, ‘loginRedirect’, 10, 3);

(@bcworkz)

1 anno, 4 mesi fa

Perché non provarlo e vedere? 🙂

Sì, dovrebbe funzionare. Non è appropriato aggiungere maiuscole direttamente da functions.php come hai fatto tu. WP può essere un po ‘instabile a quel punto, anche se sembra essere abbastanza tardi per aggiungere i tappi. È meglio eseguire un’azione come questa nel tuo OP. Il motivo per cui non funziona è lo stesso del nome passato in add_action () per la dichiarazione della funzione. (“Ws” vs. “whitespider”)

Non hai davvero bisogno di mettere dei tappi su ogni richiesta, il che mette il codice in “init” o semplicemente in functions.php. Tale codice è solitamente associato a un tema o al codice di attivazione del plugin. In alternativa, puoi lasciare il codice dov’è. Lascialo eseguire una volta, poi commentalo. I limiti aggiuntivi dureranno fino a quando non verranno esplicitamente rimossi.

A proposito, quando inserisci codice in questi forum, limita i backtick o utilizza il pulsante del codice. In caso contrario, il codice è danneggiato e diventa difficile per gli altri testare il codice da soli perché il codice è ora presentato. Nota che le virgolette dirette convertite in virgolette curve causeranno errori di sintassi.

Lanciatore di thread

(@nicallen)

1 anno, 4 mesi fa

Grazie per aver dedicato del tempo per spiegare questo. Userò invece un plugin. il migliore

Was this helpful?

0 / 0

Lascia un commento 0

Your email address will not be published. Required fields are marked *