Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza del computer >> software >> WordPress >> .

Nascondi dei contenuti fino a quando gli utenti commenti in WordPress?

Non esiste un singolo plug-in WordPress o funzionalità integrata per nascondere direttamente il contenuto fino a quando un utente non commenta. Avrai bisogno di una soluzione personalizzata che coinvolge una combinazione di PHP e potenzialmente Javascript. L'approccio migliore dipende da quanto si desidera che sia sofisticata la funzionalità.

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

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 '

Questo contenuto è visibile dopo aver inviato un commento.
';

} altro {

echo '

Lascia un commento per vedere questo contenuto.
';

}

}

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

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