- Home
- Categorie
- Coding e Sistemistica
- WordPress
- nascondere parte di articolo ad utenti non registrati
-
@Japgalaxy said:
L'unica cosa che mi viene in mente è usare un plug-in che ti faccia inserire del codice php nell'articolo ed inserire la porzione del codice che desideri nascondere all'interno di un if in cui controlli se l'utente è loggato o no...
Teoricamente dovrebbe essere fattibile...Grazie mille per la risposta,
il codice di cui parli cè l'ho presente, mentre il plugin no..
potreste essere così gentile da dirmi di che plugin si tratta? così da poterlo cercare?
Grazie
-
Certo, è questo: bluesome.net/post/2005/08/18/50/
Non l'ho mai provato, ma quello che fa è abbastanza semplice, non credo ci sia tanto da settare...
Facci sapere...
-
Ok il plug in l'ho inserito,
ma non so minimamente cosa dovrei fare ora...:bho:
il codice da inserire credo sia questo:
<?php if (is_user_logged_in())
echo "Welcome, registered user!";
else
echo "Welcome, visitor!";
?>
mettendo dei redirect sulla pagina di login,ma non so come fare e sopratutto, dove inserire questo codice,
potresi darmi una mano, perfavore?
Grazie
-
allora fai questa prova... inserisci questo e fammi sapere:
<?php
global $user_ID, $user_identity;
get_currentuserinfo();
if (!$user_ID):
?>
<p>testo che voglio far visualizzare solo agli utenti registrati</p>
<?php endif;?>
-
scusa una cosa, magari prima di provare,
mi potresti dire dove devo inserire quel codice?
Grazie mille
-
scusa ma se tu volevi nascondere parte di un post dovresti mettere quel codice dentro un post! Logico no?
Grazie a quel plug-in dovresti poter far eseguire quel codice php all'interno del post in cui nasconderai il pezzo di codice riservato agli utenti...
Poi se vuoi migliorarlo ancora di più metti un else in cui dici "Il resto è riservato agli utenti registrati"...
-
ok
allora ho inserito il codice nel post, nella parte codice dell'articolo,
lo pubblico, ma quando entro nel blog non lo visualizzo,
cioè anche se sono loggato non vedo nulla,
so ritornato nel pannello per modificare l'articolo è ho notato questo:appena salvo l'articolo mi salva il codice solo fino a qui:
global $user_ID, $user_identity;
get_currentuserinfo();
if (!$user_ID):
?>testo che voglio far visualizzare solo agli utenti registrati
LA PARTE:
</p>
<?php endif;?>mi viene cancellata, forse sbaglio qualcosa? ho riprovato a rinserirlo, ma appoena salvo la parte di codice finale sparisce
-
mmmmh forse la parte in php devi inserirla sotto un particolare tag che ti è stato attivato nell'editor attivando il plug-in? guarda bene se si è aggiunto un bottone in più...
-
mmm no ho visto ma non cè niente di diverso tutto uguale
-
si sto provando anch'io sto plug-in su un mio sito abbandonato...
allora il problema da te citato prima è dato dal fatto che l'editor avanzato converte il codice, quindi devi disabilitarlo per mantenere il codice intatto... puoi farlo dal tuo profilo...
Però ciò non risolve ancora il fatto che non sembra funzionare il pezzo di codice... Inizio a pensare che non si possa fare...
-
e si la stessa prova l'ho fatta anch'io
ma mi sa che il codice che mi hai dato, o meglio la soluzione è quella che utilizzano nel blog che ho citato prima, perchè nasonde proprio il messaggio agli utenti non registrati, forse qualcosa nel codice? non so sinceramente
-
scusa ma nasconde parte o tutto il messaggio?
-
lo nasconde tutto, ma il problema che io che sono loggato al sito non lo visualizzo ugualmente
-
Allora per nasconderlo tutto è un gioco da ragazzi per quanto riguarda il contenuto delle pagine...
Per il post non saprei dato che non ho mai provato ad assegnare template diversi a post diversi...
Io con le pagine ho già avuto l'esperienza di inserire un if nel template personalizzandolo nella pagina che mi serviva e via di seguito facendo visualizzare solo ciò che mi interessava...
Per un semplice post non saprei... dovresti prima capire come si cambiano i template a singoli post poi è un gioco da ragazzi metti l'if prima della funzione che visualizza il contenuto e fai il tutto...
-
io alla fine la funzione non la voglio su un post si e si un altro no,
ma su tutti i post. scusami ma forse non mi ero spiegato bene
-
nada?
-
Scusa ma sono stato impegnato...
Il procedimento è semplice...- apri l'editor del file single.php
- posizionati prima della funzione "the_content(...)"
- inseriscila così come sono le seguenti stringhe:
<?php
global $user_ID, $user_identity;
get_currentuserinfo();
if ('' == $user_ID) { ?>
Questa è un'area riservata: per favore effettua il <?php wp_loginout(); ?> oppure <?php wp_register(); ?> subito.
<?php } else {the_content(...);
} ?>
- voilà il gioco è fatto, i tuoi post saranno ora riservati agli utenti registrati.
-
ciao
cmq ho inserito il codice come detto, ma appena clicco sull'articolo mi da pagina bianca, ti allego il codice completo:
<?php
global $user_ID, $user_identity;
get_currentuserinfo();
if ('' == $user_ID) { ?>
Questa è un'area riservata: per favore effettua il <?php wp_loginout(); ?> oppure <?php wp_register(); ?> subito.
<?php } else {the_content(...);
} ?>
<?php the_content(__('Read more'));?><?php comments_popup_link( 'No comments ','1 comment ','% comments ', 'clink ','Comments are off for this post ');
edit_post_link(__('<strong>Edit</strong>'));?>Grazie
-
allora il codice corretto dovrebbe essere il seguente:
<?php
global $user_ID, $user_identity;
get_currentuserinfo();
if ('' == $user_ID) { ?>
Questa è un'area riservata: per favore effettua il <?php wp_loginout(); ?> oppure <?php wp_register(); ?> subito.
<?php } else {the_content(__('Read more'));
} ?>
<?php comments_popup_link( 'No comments ','1 comment ','% comments ', 'clink ','Comments are off for this post ');
edit_post_link(__('<strong>Edit</strong>'));?>
-
Allora? ha funzionato?