Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    inviare the_title() in una mail tramite form html/php

    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&rsquo;<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

  2. #2
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,655
    Ciao, la funzione php the_title() di WP fa un echo del titolo del blog compreso html. Per ritornare solo il valore dovresti usare the_title(false). Ma questo puoi usarlo in un loop di WP. Per recuperare il valore testuale dovresti usare get_the_title($ID); Dove $ID è l'id di pagina o post.

  3. #3
    Quote Originariamente inviata da m4rko80 Visualizza il messaggio
    Ciao, la funzione php the_title() di WP fa un echo del titolo del blog compreso html. Per ritornare solo il valore dovresti usare the_title(false). Ma questo puoi usarlo in un loop di WP. Per recuperare il valore testuale dovresti usare get_the_title($ID); Dove $ID è l'id di pagina o post.
    Ciao, grazie della risposta e scusa la mia domanda stupida, ma al posto di $ID devo inserire l'ID numerico della pagina specifica oppure è una funzione che richiama automaticamente l'ID della pagina dove si trova..?

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.