innanzitutto non capisco perchè rendi globale $p se poi ti serve la variabile $email e perchè lo fai al di fuori della funzione.
comunque
Codice PHP:
function extract_email( $attr, $email = null ){
global $email;
//Estraggo gli attributi passati
extract( shortcode_atts( array( 'class' => 'extract_email' ), $attr));
//Controllo che esista del contenuto inserito
if( $email ){
//Creo la box
$p = "<p class=" . $class . ">" . $email . "</p>";
}
return $p;
}
e quando ci sta l'altra funzione devi renderla globale anche li
Codice PHP:
function altra_funzione(){
global $email;
echo $email;
}
oppure
Codice PHP:
add_shortcode("email", "extract_email");
function extract_email( $attr, $email = null ){
define("EMAIL", $email);
//Estraggo gli attributi passati
extract( shortcode_atts( array( 'class' => 'extract_email' ), $attr));
//Controllo che esista del contenuto inserito
if( $email ){
//Creo la box
$p = "<p class=" . $class . ">" . $email . "</p>";
}
return $p;
}
echo EMAIL;