Hi, weiß grad gar nicht, ob meine Frage hier passt... wenn nicht, dann bitte nicht gleich den Kopf abreisen, danke :)
Ich arbeite seit einigen Tagen mit dem Asgaros-Forum. Da ich WooCommerce und "my account" verwende, können die User einige Einstellungen des Forums nicht einsehen/ändern. Ich habe dazu schon die Signatur (Text) in "my account" mit folgendem Code in der functions.php (Child-Theme) einfügen können, dass funktioniert soweit ganz gut:
// BEGIN Add the custom field "asgarosforum_signature"
add_action( 'woocommerce_edit_account_form', 'add_asgarosforum_signature_to_edit_account_form' );
function add_asgarosforum_signature_to_edit_account_form() {
$user = wp_get_current_user();
?>
<p class="woocommerce-form-row woocommerce-form-row--wide form-row form-row-wide">
<label for="asgarosforum_signature"><?php _e( 'Signatur im Forum', 'woocommerce' ); ?>
<input type="text" class="woocommerce-Input woocommerce-Input--text input-text" name="asgarosforum_signature" id="asgarosforum_signature" value="<?php echo esc_attr( $user->asgarosforum_signature ); ?>" />
</p>
<?php
}
// END Add the custom field "asgarosforum_signature"
// BEGIN Save the custom field "asgarosforum_signature"
add_action( 'woocommerce_save_account_details', 'save_asgarosforum_signature_account_details', 12, 1 );
function save_asgarosforum_signature_account_details( $user_id ) {
// For asgarosforum_signature
if( isset( $_POST['asgarosforum_signature'] ) )
update_user_meta( $user_id, 'asgarosforum_signature', sanitize_text_field( $_POST['asgarosforum_signature'] ) );
}
// END Save the custom field "asgarosforum_signature"
Alles anzeigen
Jetzt versuche ich noch eine Checkbox hinzuzufügen... aber dass klappt nicht. Der Wert wird nicht ausgelesen und auch nicht gespeichert. Beim speichern hängt sich die Seite weg... Ich habe da sicherlich ein Problem mit dem woocommerce-input und auch mit der save-Anweisung. Nur bin ich nicht der PHP- & WooCommerce/WordPress-Crack und komme nicht drauf, was da nicht stimmt.
Kann jemand helfen? Hier mein Code für die Checkbox:
// BEGIN Add the custom field "asgarosforum_mention_notify"
add_action( 'woocommerce_edit_account_form', 'add_asgarosforum_mention_notify_to_edit_account_form' );
function add_asgarosforum_mention_notify_to_edit_account_form() {
$user = wp_get_current_user();
?>
<p class="woocommerce-form-row woocommerce-form-row--wide form-row form-row-wide">
<label for="asgarosforum_mention_notify"><?php _e( 'Erhalte eMail bei Erwähnungen im Forum ', 'woocommerce' ); ?>
<input type="checkbox" class="woocommerce-Input woocommerce-Input--checkbox input-checkbox" name="asgarosforum_mention_notify" id="asgarosforum_mention_notify" value="<?php echo esc_attr( $user->asgarosforum_mention_notify ); ?>" />
</p>
<?php
}
// END Add the custom field "asgarosforum_mention_notify"
// BEGIN Save the custom field "asgarosforum_mention_notify"
add_action( 'woocommerce_save_account_details', 'save_asgarosforum_mention_notify_account_details', 12, 1 );
function save_asgarosforum_mention_notify_account_details( $user_id ) {
// For asgarosforum_mention_notify
if( isset( $_POST['asgarosforum_mention_notify'] ) )
update_user_meta( $user_id, 'asgarosforum_mention_notify', sanitize_checkbox_field( $_POST['asgarosforum_mention_notify'] ) );
}
// END Save the custom field "asgarosforum_mention_notify"
Alles anzeigen
vg, Frank
Edit maxe: Code Buttons