Hallo Leute,
ich muss zugeben, dass es sehr schwer ist für mein Problem eine geeignete Überschrift zu finden. Es geht um eine Wordpress/Buddypress-Sache. Ich poste es hier, da die Ursache des Problems eher im Bereich PHP-Wissen als Wordpress-Wissen zu finden ist. Außerdem geht es um eine Kombination aus Wordpress und Buddypress, was die Spezialisten beider Lager offenbar überfordert
Worum geht es?
Ich habe ein Kontaktformular. Vor dem Absenden greife ich mittels einer Funktion (Wordpress-Funktion bzw Funktion des Kontaktformular-Plugins) ein und führe eine Buddypress-Funktion (= Plugin für ein Soziales Netzwerk auf Basis von Wordpress) aus, die dafür sorgt, dass der Empfänger dieses Kontaktformulars die Person ist, derer Profil man gerade besucht.
Vielleicht wird es durch den Code deutlicher:
Der Code befindet sich momentan in der bp-custom.php. Dort werden Funktionen, die Wordpress und Buddypress betreffen, erzeugt und verändert.
Mein aktueller Stand (funktioniert nicht):
Wenn ich die Funktion xprofile_get_field_data durch eine konkrete Email-Adresse ersetze funktioniert es. Beispielsweise so:
Andererseits funktioniert die Funktion wenn ich sie direkt in dem Template einfüge wo das Kontaktformular ist.
Im Template des Kontaktformulars:
Demnach ist das Problem das Zusammenspiel. Ich muss es irgendwie schaffen, dass klar ist worauf sich die Funktion xprofile_get_field_data bezieht. Ich habe es mit einem global $bp versucht, hatte aber keinen Erfolg.
Hat jemand eine Idee?
ich muss zugeben, dass es sehr schwer ist für mein Problem eine geeignete Überschrift zu finden. Es geht um eine Wordpress/Buddypress-Sache. Ich poste es hier, da die Ursache des Problems eher im Bereich PHP-Wissen als Wordpress-Wissen zu finden ist. Außerdem geht es um eine Kombination aus Wordpress und Buddypress, was die Spezialisten beider Lager offenbar überfordert

Worum geht es?
Ich habe ein Kontaktformular. Vor dem Absenden greife ich mittels einer Funktion (Wordpress-Funktion bzw Funktion des Kontaktformular-Plugins) ein und führe eine Buddypress-Funktion (= Plugin für ein Soziales Netzwerk auf Basis von Wordpress) aus, die dafür sorgt, dass der Empfänger dieses Kontaktformulars die Person ist, derer Profil man gerade besucht.
Vielleicht wird es durch den Code deutlicher:
Der Code befindet sich momentan in der bp-custom.php. Dort werden Funktionen, die Wordpress und Buddypress betreffen, erzeugt und verändert.
Mein aktueller Stand (funktioniert nicht):
PHP-Code:
function mycf7_before_send_mail($WPCF7_ContactForm) {
// Die Funktion xprofile_get_field_data gibt die Email-Adresse des akt. Profils zurück
$new_recipient = xprofile_get_field_data('Email for contact', bp_displayed_user_id(), $multi_format = 'comma');
$mail = $WPCF7_ContactForm->prop('mail');
$mail['recipient'] = $new_recipient;
$WPCF7_ContactForm->set_properties( array( 'mail' => $mail ) );
}
add_action( "wpcf7_before_send_mail", "mycf7_before_send_mail" );
PHP-Code:
function mycf7_before_send_mail($WPCF7_ContactForm) {
// Die Funktion xprofile_get_field_data gibt die Email-Adresse des akt. Profils zurück
$new_recipient = "meineadresse@provider.de";
$mail = $WPCF7_ContactForm->prop('mail');
$mail['recipient'] = $new_recipient;
$WPCF7_ContactForm->set_properties( array( 'mail' => $mail ) );
}
add_action( "wpcf7_before_send_mail", "mycf7_before_send_mail" );
Im Template des Kontaktformulars:
PHP-Code:
echo xprofile_get_field_data('Email for contact', bp_displayed_user_id(), $multi_format = 'comma');
Hat jemand eine Idee?
Kommentar