Ecco alcuni metodi, che vanno dai più semplici al più complessi:
Metodo 1:approccio semplice (usando PHP e un cookie) Questo è il più semplice, ma meno preciso. Nasconde il contenuto fino a quando * qualsiasi * commento non viene inviato, non necessariamente un commento dall'utente specifico che visualizza la pagina.
1. Codice PHP (nel file `funzioni.php` del tema o un plug -in personalizzato):
`` `php
Php
add_action ('init', 'set_comment_cookie');
funzione set_comment_cookie () {
if (ISSET ($ _post ['commento']) {// Verifica se viene inviato un commento
setCookie ('commentato', 'true', time () + 31536000, '/'); // Imposta un biscotto che dura da un anno
}
}
funzione show_content_after_comment () {
if (ISSET ($ _COOKIE ['commentato']) &&$ _COOKIE ['commentato'] =='true') {
echo '
} altro {
echo '
}
}
add_shortCode ('hidden_content', 'show_content_after_comment');
?>
`` `
2. Utilizzo: Nel contenuto della tua pagina, usa il breve codice:`[hidden_content]`
Metodo 2:approccio più avanzato (usando PHP, JavaScript e Ajax) Questo metodo richiede più codifica ma offre un'esperienza utente migliore in quanto non richiede una ricarica di pagina.
1. Codice PHP (nelle funzioni del tema `/php` o un plug -in):
`` `php
Php
add_action ('wp_ajax_nopriv_check_comment', 'check_comment_ajax'); // per utenti non unifosi
add_action ('wp_ajax_check_comment', 'check_comment_ajax'); // per gli utenti logicati
funzione check_comment_ajax () {
// Controlla se l'utente ha commentato (richiede una query di database o un metodo più sofisticato per tracciare i commenti dell'utente. Vedi sotto).
$ user_id =get_current_user_id (); // Ottieni l'ID utente corrente
$ has_comment =check_if_user_commentato ($ user_id); // Funzione per verificare se l'utente ha commentato (spiegato di seguito).
if ($ has_commentato) {
wp_send_json_success (array ('show' => true));
} altro {
wp_send_json_success (array ('show' => false));
}
wp_die ();
}
// Funzione per verificare se un utente ha commentato (sostituire con la logica effettiva).
funzione check_if_user_comment ($ user_id) {
globale $ wpdb;
$ count =$ wpdb-> get_var ($ wpdb-> prepara ("seleziona count (*) da $ wpdb-> commenti dove user_id =%d", $ user_id));
return $ count> 0;
}
?>
`` `
2. Codice JavaScript (nel tema `head.php` o un file separato` .js` encorato nel tema):
`` `JavaScript
jQuery (document) .ready (function ($) {
var hidDencontent =$ ('#nascosto-contenuto'); // Sostituisci #contento nascosto con l'ID del tuo contenuto nascosto div
$ .ajax ({
URL:ajaxurl,
tipo:"post",
dati:{
Azione:"check_comment",
},
Success:function (risposta) {
if (risposta.show) {
hidDencontent.show ();
}
}
});
});
`` `
3. Codice HTML (nel contenuto della tua pagina):
`` `html
Questo contenuto è visibile dopo l'invio di un commento.
`` `
Considerazioni importanti per il metodo 2:
* query del database: La funzione `check_if_user_comment` utilizza una semplice query di database per verificare se l'utente ha commenti. Probabilmente dovrai perfezionare questo per tenere conto delle approvazioni dei commenti e di altri fattori.
* Ajax URL: Assicurati che `Ajaxurl` sia correttamente definito nel tema (di solito gestito automaticamente da WordPress).
* Sicurezza: Sanitare sempre e convalidare l'input dell'utente per prevenire le vulnerabilità di sicurezza.
* Esperienza utente: Prendi in considerazione la fornitura di feedback chiari all'utente in attesa che la richiesta AJAX si completasse.
Metodo 3:sviluppo del plugin Per una soluzione robusta e gestibile, prendi in considerazione la creazione di un plug -in WordPress personalizzato. Ciò consentirebbe funzionalità più avanzate, migliori organizzazioni di codice e aggiornamenti più facili.
Ricorda di sostituire gli ID segnaposto e regolare il codice in modo che corrisponda al tema e alle esigenze specifiche. Il secondo metodo offre un'esperienza utente molto più fluida, ma richiede una competenza di codifica significativamente maggiore. Scegli il metodo che si adatta meglio alle tue capacità e requisiti. Se non ti senti a tuo agio con PHP e JavaScript, considera di assumere uno sviluppatore.
software © www.354353.com