Il mio problema è questo: ho un form su un sito wordpress i cui dati vengono inviati per email, funziona tutto bene, ma vorrei includere the_title() o ancor meglio il titolo di un singolo portfolio nel testo dell'email o come oggetto.. Questo è il form:
codice:/************************************** Contact Form **************************************/ if ( ! function_exists( 'be_contact_form' ) ) { function be_contact_form($atts,$content) { extract( shortcode_atts( array ( 'input_bg_color' => '', 'input_color' => '', 'input_border_color' => '', 'button_bg_color' => '', 'button_color' => '' ), $atts ) ); $output = ''; $styles = $button_styles = 'style="'; if( isset( $input_bg_color ) && !empty( $input_bg_color) ) { $styles .= 'background-color: '.$input_bg_color.';'; } if( isset( $input_color ) && !empty( $input_color) ) { $styles .= 'color: '.$input_color.';'; } if( isset( $input_border_color ) && !empty( $input_border_color) ) { $styles .= 'border-color: '.$input_border_color.';'; } if( isset( $button_bg_color ) && !empty( $button_bg_color) ) { $button_styles .= 'background-color: '.$button_bg_color.' !important;'; } if( isset( $button_color ) && !empty( $button_color) ) { $button_styles .= 'color: '.$button_color.' !important;'; } $styles .= '"'; $button_styles .= '"'; $output .= '<div class="contact_form contact_form_module"> <form method="post" class="contact"> <table> <tr> <td> <fieldset class="contact_fieldset"> <input type="text" name="contact_name" class="txt autoclear" placeholder="'.__('*Nome e Cognome:','be-themes').'" '.$styles.' /> </fieldset></td> <td> <fieldset class="contact_fieldset"> <input type="text" name="contact_email" class="txt autoclear" placeholder="'.__('*Email:','be-themes').'" '.$styles.' /> </fieldset></td></tr> <tr> <td> <fieldset class="contact_fieldset"> <input type="text" name="contact_tel" class="txt autoclear" placeholder="'.__('Telefono:','be-themes').'" '.$styles.' /> </fieldset></td> <td> <fieldset class="contact_address"> <input type="text" name="contact_subject" class="txt autoclear" placeholder="'.__('Indirizzo:','be-themes').'" '.$styles.' /> </fieldset></td></tr> <tr> <td colspan="2"> <fieldset class="contact_fieldset"> <input style="width:99%;" type="text" name="contact_comment" class="txt autoclear" placeholder="'.__('*Richiesta:','be-themes').'" '.$styles.' /> </fieldset></td></tr> <tr> <td colspan="2"> <fieldset class="contact_fieldset"> <input style="min-width:30px;" checked="checked" id="checkbox" type="checkbox" name="checkbox" value="yes" /> <label for="checkbox">Si, acconsento al trattamento dei miei dati personali secondo l’<a id="linkprivacy" href="http://www.silviaalessandri.it/informativa-privacy/">informativa sulla Privacy</a></label> </fieldset></td></tr> <tr> <td colspan="2" style="text-align:center;"> <fieldset class="contact_fieldset submit-fieldset"> <input style="min-width: 150px;border: 1px solid #000;float: right;color: #000;font-weight: bold;font-size: 15px;}" type="submit" name="contact_submit" value="'.__('Invio','be-themes').'" class="contact_submit" '.$button_styles.' /> <div class="contact_loader"></div> </fieldset> </td></tr> <div class="contact_status be-notification"></div> </table> </form> </div>'; return $output; } add_shortcode('contact_form','be_contact_form'); }
E questo è il controllo:
codice:/* --------------------------------------------- */ // Function for processing contact form submission /* --------------------------------------------- */ add_action( 'wp_ajax_nopriv_contact_authentication', 'be_themes_contact_authentication' ); add_action( 'wp_ajax_contact_authentication', 'be_themes_contact_authentication' ); function be_themes_contact_authentication() { global $be_themes_data; extract($_POST); if(empty($contact_name) || empty($contact_email) || empty($contact_comment) || empty($contact_subject) ) { $result['status']="error"; $result['data']= __('Attenzione, tutti i campi sono obbligatori','be-themes'); } else if(!preg_match ('/^[\w.-]+@[\w.-]+\.[A-Za-z]{2,6}$/', $contact_email)) { $result['status']="error"; $result['data']=__('Inserire un indirizzo email valido','be-themes'); } else if(!empty($contact_name) && !empty($contact_email) && !empty($contact_comment) && !empty($contact_subject) ) { if ( !empty( $be_themes_data['mail_id'] ) ) { $to = $be_themes_data['mail_id']; } else { $to = get_option('admin_email'); } $message= "Questa email ti è stata inviata da " . $_POST['contact_name'] . ", " . $_POST['contact_subject'] . " " . $_POST['contact_tel'] . ". MESSAGGIO: " . $_POST['contact_comment']; $subject= $contact_name; $from = $contact_email; $headers = "From:" . $from; mail($to, $subject, $message, $headers); $result['status']="success"; $result['data']=__('Il tuo messaggio è stato inviato con successo! Ti ricontatteremo al più presto.','be-themes'); } header('Content-type: application/json'); echo json_encode($result); die(); }
se ad esempio cambio
$subject= $contact_name;
con
$subject= the_title();
oppure
$subject= get_the_title();
mi restituisce l'oggetto della mail vuoto...
Qualcuno può aiutarmi? grazie dell'attenzione![]()


Rispondi quotando
