BuddyPress, il famosissimo #plugin sociale che uso qui su laltroweb, (ottimo per gruppi, amicizie, profili estesi, attività, e tanto altro…)! tra le tante cose, offre una pagina di registrazione decisamente diversa rispetto alla classica offerta da #WordPress!
Questa pagina, inoltre, grazie a qualche buona riga di codice, possiamo migliorarla con varie chicche utili come, ad esempio, i termini e condizioni.
Un esempio:

Codice usato per creare: BuddyPress terms and condition!
<?php /* if in mu-plugins */ defined( 'ABSPATH' ) or die( 'uh?' ); // BuddyPress terms and condition! add_action('bp_signup_validate', 'custom_field_check_validation'); function custom_field_check_validation() { global $bp; $custom_field = $_POST['custom_field']; if (empty($custom_field) || $custom_field == '') { $bp->signup->errors['custom_field'] = 'Si prega di accettare i termini e le condizioni'; } return; } add_action('bp_before_registration_submit_buttons', 'show_custom_field'); function show_custom_field() { ?> <style type="text/css"> hr.clr { clear: both; } .custom_field_container { clear: both; margin: 25px 0; } .custom_field_container p { margin-bottom: 0; } .terms-and-conditions-container { width: 100%; margin: 10px 0; border: 1px solid #EFEFEF; height: 120px; padding: 10px; overflow-y: scroll; } </style> <hr class="clr"> <div class="custom_field_container"> <p> <strong>Termini e Condizioni:</strong> </p> <div class="terms-and-conditions-container"> Accetti di tenere un comportamento consono ad un ambiente pubblico? Ovvero: niente volgarità; niente bestemmie; niente pubblicazione di materiale porno e/o pedoporno; niente spam gratuito (ammissibile se e solo se il contenuto è in linea con l'argomento trattato e può servire ad approfondire il contenuto); niente razzismo e robe varie... Insomma, se ti iscrivi, accetti di comportarti da persone civile ed educata, pena il ban e la fustigazione xD <br> Grazie. </div> <?php do_action( 'bp_custom_field_errors' ); ?> <input type="checkbox" name="custom_field" id="bph_field" value="1" /> <strong>Accetto i termini e le condizioni indicate!</strong> </div> <hr class="clr"> <?php }
Ovviamente, basta metterlo nel proprio function.php o in un mu-plugins 😉
NB: un altro metodo può essere quello di usare il pannello:/wp-admin/users.php?page=bp-profile-setup
ma non son riuscito, per quanto sia un ottimo strumento, a creare una textarea readonly con checkbox.
@salvatore-noschese ,
L’ho dovuto inserire per forza nel file functions , nella directory mu-plugins mi dadava fatal
Ora per un sito multi lingua come funziona?
A me quando va nella lingua inglese cambia tutto il form tranne il checkbox dell’accettazione.
Function o mu-plugins sono fondamentalmente la stessa cosa…
Cerca una funzione che separi le lingue in base al tuo plugin e quindi stampa il testo in base alla lingua.
Stessa cosa, ma che uno dava errore fatale.
Che funzioni?
again, è la stessa cosa. avrai scritto male o non avrai inizializzato il codice con il <?php
che funzioni non posso saperlo dato che non uso il tuo plugin per le traduzioni.
@salvatore-noschese
Il mio plugin è q-translateX e usa come tag
[:it]
[:en]
Cosa dovrei fare?
credo che questo possa fare al caso tuo: https://qtranslatexteam.wordpress.com/faq/#CustomFields
Ho notato che non è inserito come campo obbligatorio, per renderlo tale?
Hai provato a proseguire senza aver selezionato quel campo? Hai verificato se ti fa passare o meno?
do_action( ‘bp_custom_field_errors’ ); ?>
…
Ho inserito così il codice per separare le lingue, ma in italiano ma il tasto del “completa la registrazione” , stessa cosa è ne codice invertisco le due lingue, scompare nel form inglese inglese ricompare in quello italiano, forse mi sai dire tu cosa manca per il tasto? ?
Io non ho capito molto.
Noto solo che fai mille domande, io rispondo, e poi non si capisce se hai risolto perché inizi con altre domande.
Detto ciò, non ho quel plugin. Lì hai le istruzioni, al massimo chiedi supporto all’autore del plugin.
E serve a poco ripostare dopo un minuto taggandomi.
Hai chiesto per termini e condizioni, fatto e funziona.
Per la lingua pensaci tu che io non posso.
Con la lingua ho risolto. ??
Il problema è il tasto giù in fondo al form buddypress che in una lingua c’è e l’altra no, ho aggiunto solo il tag della lingua ovvero [:en] testo inglese
Puoi vedere con i tuoi occhi: https://sviluppomania.altervista.org/en/sign-up/
Io vedo che con l’it spunta una parentesi anziché il pulsante.
Insomma, codice palesemente scritto in modo errato. Comunque, va sempre oltre l’argomento trattato nell’articolo. Io non posso assisterti sul plugin per le traduzioni.
Il problema è nel codice del mu-plugin, manca il tasto nel form italiano.