WebMasterService N3rds@Work

Benutzerdefinierte Nachricht mit BoniPress Transfer

Benutzerdefinierte Nachricht mit BoniPress Transfer

BoniPress weist den Benutzern verschiedene Punkte zu, aber es wurde manchmal bemerkt, dass die Benutzer Punkte an einen anderen Benutzer übertragen möchten, und BoniPress hat standardmäßig ein Übertragungsformular, aber um eine benutzerdefinierte Nachricht mit der Übertragung wie ein Grund für die Übertragung von Punkten zu senden, der mit dem Standardformular nicht verfügbar ist. Die folgenden Snippets helfen Dir, eine benutzerdefinierte Nachricht hinzuzufügen.

Hinweis: Das BoniPress-Plugin muss konfiguriert werden, um diese Snippets verwenden zu können.

Lasse uns überprüfen, wie es funktioniert …

Snippet 1: Neue Felder im Formular anzeigen

Dieses Snippet zeigt dem Forum ein neues Feld an.

/**
* Zeige neue Felder im Formular an
*/
function wmsnw_add_message_field_in_transfer_form() {
?>
<div>
<label for="bonipress-transfer-custom-message"><?php echo __( 'Grund für die Übertragung: ', 'wmsnw' ); ?></label>
<input type="text" placeholder="Grund" class="form-control" name="bonipress_new_transfer[message][transfer_reason]" id="bonipress-transfer-custom-message" value="" />
</div>
<?php
}
add_action( 'bonipress_transfer_form_extra', 'wmsnw_add_message_field_in_transfer_form' );

Snippet 2: Feldwert speichern

Der Codeausschnitt speichert den Wert des benutzerdefinierten Nachrichtenfelds in der BoniPress-Datenbank.

/**
* Feldwert speichern
*/
function wmsnw_save_message_field_values_data( $data, $transaction_id, $post ) {

$reason_to_transfer = isset( $post['message']['transfer_reason'] ) ? sanitize_textarea_field( $post['message']['transfer_reason'] ) : '';
$data['reason_to_transfer'] = $reason_to_transfer;

return $data;
}
add_filter( 'bonipress_transfer_data', 'lwmsnw_save_message_field_values_data', 10, 3 );

Snippet 3: Fügt eine neue Spalte im BoniPress-Protokoll hinzu

Der Ausschnitt fügt eine neue Spalte im BoniPress-Protokoll hinzu, in der eine benutzerdefinierte Meldung angezeigt wird.

/**
* Fügt eine neue Spalte im BoniPress-Protokoll hinzu
*/
function wmsnw_add_extra_column_in_log( $columns, $class, $is_admin ) {
$columns['transfer-message'] = 'Grund zur Übertragung';
return $columns;
}
add_filter( 'bonipress_log_column_headers', 'lwmsnw_add_extra_column_in_log', 10, 3 );

Snippet 4: Meldung im BoniPress-Protokoll anzeigen

Der Codeausschnitt zeigt eine benutzerdefinierte Meldung im BoniPress-Protokoll an.

/**
* Nachricht im BoniPress-Protokoll anzeigen
*/
function wmsnw_display_message_content_log_column( $content, $log_entry ) {

if( empty( $log_entry->data ) ) {
return '';
}

$type = $log_entry->ref;
if( $type != 'transfer' ) {
return '';
}

$data = maybe_unserialize( $log_entry->data );
return $data['reason_to_transfer'];
}
add_filter( 'bonipress_log_transfer-message', 'wmsnw_display_message_content_log_column', 10, 2 )

Also, alles, was Du tun musst, ist dieses Code-Snippet zu Deiner Theme-functions.php Datei hinzuzufügen, um eine benutzerdefinierte Nachricht mit BoniPress-Übertragung anzuzeigen.