Achtung!

Dieser Artikel enthält PHP-Code und richtet sich an Entwickler. Wir stellen diesen Code als Service zur Verfügung, bieten jedoch keine Unterstützung für Codeanpassungen oder die Entwicklung durch Dritte.

Für zusätzliche Hilfe siehe das Tutorial von WPBeginner zum Hinzufügen von benutzerdefiniertem Code.

Schließen

Verarbeitung von Smart Tags in Feldbezeichnungen

Einleitung

Möchten Sie Smart Tags in Feldbezeichnungen auf Ihren Formularen verarbeiten? Mit einem kleinen PHP-Snippet lässt sich dies einfach realisieren. In diesem Tutorial zeigen wir Ihnen, wie Sie Smart Tags in Ihren Formularfeldbezeichnungen verarbeiten.

Die Verwendung von Smart Tags ist ein sehr nützliches Werkzeug, um dynamisch bestimmte Daten innerhalb Ihres Formulars abzurufen und anzuzeigen.

Standardmäßig werden Smart Tags nicht verarbeitet, wenn sie in Feldbezeichnungen Ihres Formulars platziert werden.

Diese Funktionalität kann jedoch nützlich sein, wenn Sie beispielsweise einen Benutzernamen eines angemeldeten Benutzers, Ihre Seiten-URL oder sogar andere Details mithilfe von benutzerdefinierten Smart Tags anzeigen möchten.

Für dieses Tutorial erstellen wir ein Formular, das nur unsere angemeldeten Benutzer sehen können. Daher möchten wir es persönlicher gestalten, indem wir ihren Vornamen in der Feldbezeichnung eines Absatz-Formularfelds verwenden.

Hinzufügen des Snippets

Wir beginnen damit, unser Snippet zu unserer Website hinzuzufügen. Wenn Sie Hilfe beim Hinzufügen von Snippets zu Ihrer Website benötigen, sehen Sie sich dieses Tutorial an.

Nachfolgend zeigen wir Ihnen zwei Methoden: eine, die sich auf eine bestimmte Formular-ID bezieht, und eine andere, die für alle Formulare gilt. Wählen Sie einfach das Snippet aus, das Sie verwenden möchten.

Zielgerichtete Formular-ID

In diesem Snippet zielen wir nur auf die Formular-ID 365 ab. Wenn Sie Hilfe beim Finden Ihrer Formular-ID benötigen, lesen Sie bitte dieses Tutorial.

/**
 * Run Smart Tags on all field labels.
 *
 * @link   https://wpforms.com/developers/how-to-process-smart-tags-in-field-labels/
 */
  
function wpf_dev_textarea_field_display( $field, $field_atts, $form_data ) {
    
    // Optional, you can limit to specific forms. Below, we restrict output to
    // form #365.
    if ( absint( $form_data[ 'id' ] ) !== 365 ) {
        return $field;
    }
	
    $field[ 'label' ] = wpforms()->smart_tags->process( $field[ 'label' ], $form_data );
    
    return $field;

}

add_filter( 'wpforms_textarea_field_display', 'wpf_dev_textarea_field_display', 10, 3 );

Verwendung für alle WPForms

Der unten gezeigte Code würde dies für alle Ihre WPForms ermöglichen.

/**
 * Run Smart Tags on field labels in WPForms.
 *
 * @link   https://wpforms.com/developers/how-to-process-smart-tags-in-field-labels/
 */
 
function wpf_dev_textarea_field_display( $field, $field_atts, $form_data ) {

    $field[ 'label' ] = wpforms()->smart_tags->process( $field[ 'label' ], $form_data );
    
    return $field;

}

add_filter( 'wpforms_textarea_field_display', 'wpf_dev_textarea_field_display', 10, 3 );

Erstellen Ihres Formulars

Als Nächstes erstellen wir unser Formular und fügen unsere Felder hinzu. Das erste Formularfeld, das wir hinzufügen werden, ist ein Absatztext-Formularfeld. Wir werden unseren neuen Smart Tag in der Feldbezeichnung verwenden, um den Vornamen des Benutzers abzurufen. Wir werden daher die Bezeichnung für dieses Feld in Erzählen Sie uns ein wenig über sich {user_first_name} ändern.

Sobald der Ausschnitt hinzugefügt ist, können Sie die Smart Tags jetzt innerhalb der Feld-Labels verwenden

Wenn Sie Hilfe beim Erstellen Ihres Formulars benötigen, lesen Sie bitte diese Dokumentation.

Wenn Ihr Formular geladen wird, sehen Sie den Namen, der von Ihrem neuen Smart Tag abgerufen wird.

Der Smart Tag wird jetzt im Feld-Label angezeigt

Verwendung von Smart Tags in E-Mail-Benachrichtigungen

Sie können Smart Tags auch in Ihren Benachrichtigungen verwenden.

Navigieren Sie dazu im Formular-Generator zu Einstellungen und wählen Sie Benachrichtigungen.

Bei der Konfiguration Ihrer E-Mail-Benachrichtigungsnachricht können Sie Smart Tags anzeigen auswählen, um die Smart Tags einzuschließen, die Sie in Ihre Nachricht aufnehmen möchten.

Sie können die Smart Tags auch innerhalb Ihrer E-Mail-Benachrichtigung verwenden, um eine persönlichere Benachrichtigung zu erhalten

Verwendung von Smart Tags in anderen Feldbezeichnungen

Nachfolgend finden Sie das benötigte Snippet für jedes der verschiedenen Formularfelder, für die Sie Smart Tags in der Bezeichnung jedes dieser spezifischen Felder verarbeiten können.

Wie oben erwähnt, sind diese Snippets spezifisch für eine einzelne Formular-ID. Wenn Sie sie für alle Formulare verfügbar machen möchten, entfernen Sie einfach den Block im Snippet, der sich auf die Formular-ID bezieht.

/**
 * Run Smart Tags on field labels in WPForms.
 *
 * @link   https://wpforms.com/developers/how-to-process-smart-tags-in-field-labels/
 */

// Run smart tags on text field label.
function wpf_dev_text_field_display( $field, $field_atts, $form_data ) {

    // Optional, you can limit to specific forms. Below, we restrict output to
    // form #365.
	if( $form_data[ 'id' ] != 365 )
    return $field;

    $field[ 'label' ] = wpforms()->smart_tags->process( $field[ 'label' ], $form_data );
    return $field;

}

add_filter( 'wpforms_text_field_display', 'wpf_dev_text_field_display', 10, 3 );


// Run smart tags on textarea field label.
function wpf_dev_textarea_field_display( $field, $field_atts, $form_data ) {

    // Optional, you can limit to specific forms. Below, we restrict output to
    // form #365.
	if( $form_data[ 'id' ] != 365 ) 
    return;

    $field[ 'label' ] = wpforms()->smart_tags->process( $field[ 'label' ], $form_data );
    return $field;

}

add_filter( 'wpforms_textarea_field_display', 'wpf_dev_textarea_field_display', 10, 3 );


// Run smart tags on checkbox field label.
function wpf_dev_checkbox_field_display( $field, $field_atts, $form_data ) {

    // Optional, you can limit to specific forms. Below, we restrict output to
    // form #365.
	if( $form_data[ 'id' ] != 365 ) 
    return;

    $field[ 'label' ] = wpforms()->smart_tags->process( $field[ 'label' ], $form_data );
    return $field;

}

add_filter( 'wpforms_checkbox_field_display', 'wpf_dev_checkbox_field_display', 10, 3 );


// Run smart tags on email field label.
function wpf_dev_email_field_display( $field, $field_atts, $form_data ) {

    // Optional, you can limit to specific forms. Below, we restrict output to
    // form #365.
	if( $form_data[ 'id' ] != 365 ) 
    return;

    $field[ 'label' ] = wpforms()->smart_tags->process( $field[ 'label' ], $form_data );
    return $field;

}

add_filter( 'wpforms_email_field_display', 'wpf_dev_email_field_display', 10, 3 );


// Run smart tags on select field label.
function wpf_dev_select_field_display( $field, $field_atts, $form_data ) {

    // Optional, you can limit to specific forms. Below, we restrict output to
    // form #365.
	if( $form_data[ 'id' ] != 365 ) 
    return;

    $field[ 'label' ] = wpforms()->smart_tags->process( $field[ 'label' ], $form_data );
    return $field;

}

add_filter( 'wpforms_select_field_display', 'wpf_dev_select_field_display', 10, 3 );


// Run smart tags on radio field label.
function wpf_dev_radio_field_display( $field, $field_atts, $form_data ) {

    // Optional, you can limit to specific forms. Below, we restrict output to
    // form #365.
	if( $form_data[ 'id' ] != 365 ) 
    return;

    $field[ 'label' ] = wpforms()->smart_tags->process( $field[ 'label' ], $form_data );
    return $field;

}

add_filter( 'wpforms_radio_field_display', 'wpf_dev_radio_field_display', 10, 3 );


// Run smart tags on number field label.
function wpf_dev_number_field_display( $field, $field_atts, $form_data ) {

    // Optional, you can limit to specific forms. Below, we restrict output to
    // form #365.
	if( $form_data[ 'id' ] != 365 ) 
    return;

    $field[ 'label' ] = wpforms()->smart_tags->process( $field[ 'label' ], $form_data );
    return $field;

}

add_filter( 'wpforms_number_field_display', 'wpf_dev_number_field_display', 10, 3 );


// Run smart tags on name field label.
function wpf_dev_name_field_display( $field, $field_atts, $form_data ) {

    // Optional, you can limit to specific forms. Below, we restrict output to
    // form #365.
	if( $form_data[ 'id' ] != 365 ) 
    return;

    $field[ 'label' ] = wpforms()->smart_tags->process( $field[ 'label' ], $form_data );
    return $field;

}

add_filter( 'wpforms_name_field_display', 'wpf_dev_name_field_display', 10, 3 );


// Run smart tags on phone field label.
function wpf_dev_phone_field_display( $field, $field_atts, $form_data ) {

    // Optional, you can limit to specific forms. Below, we restrict output to
    // form #365.
	if( $form_data[ 'id' ] != 365 ) 
    return;

    $field[ 'label' ] = wpforms()->smart_tags->process( $field[ 'label' ], $form_data );
    return $field;

}

add_filter( 'wpforms_phone_field_display', 'wpf_dev_phone_field_display', 10, 3 );


// Run smart tags on address field label.
function wpf_dev_address_field_display( $field, $field_atts, $form_data ) {

    // Optional, you can limit to specific forms. Below, we restrict output to
    // form #365.
	if( $form_data[ 'id' ] != 365 ) 
    return;

    $field[ 'label' ] = wpforms()->smart_tags->process( $field[ 'label' ], $form_data );
    return $field;

}

add_filter( 'wpforms_address_field_display', 'wpf_dev_address_field_display', 10, 3 );


// Run smart tags on URL field label.
function wpf_dev_url_field_display( $field, $field_atts, $form_data ) {

    // Optional, you can limit to specific forms. Below, we restrict output to
    // form #365.
	if( $form_data[ 'id' ] != 365 ) 
    return;

    $field[ 'label' ] = wpforms()->smart_tags->process( $field[ 'label' ], $form_data );
    return $field;

}

add_filter( 'wpforms_url_field_display', 'wpf_dev_url_field_display', 10, 3 );


// Run smart tags on password field label.
function wpf_dev_password_field_display( $field, $field_atts, $form_data ) {

    // Optional, you can limit to specific forms. Below, we restrict output to
    // form #365.
	if( $form_data[ 'id' ] != 365 ) 
    return;

    $field[ 'label' ] = wpforms()->smart_tags->process( $field[ 'label' ], $form_data );
    return $field;

}

add_filter( 'wpforms_password_field_display', 'wpf_dev_password_field_display', 10, 3 );


// Run smart tags on payment checkbox field label.
function wpf_dev_payment_checkbox_field_display( $field, $field_atts, $form_data ) {

    // Optional, you can limit to specific forms. Below, we restrict output to
    // form #365.
	if( $form_data[ 'id' ] != 365 ) 
    return;

    $field[ 'label' ] = wpforms()->smart_tags->process( $field[ 'label' ], $form_data );
    return $field;

}

add_filter( 'wpforms_payment_checkbox_field_display', 'wpf_dev_payment_checkbox_field_display', 10, 3 );


// Run smart tags on payment multiple select field label.
function wpf_dev_payment_multiple_field_display( $field, $field_atts, $form_data ) {

    // Optional, you can limit to specific forms. Below, we restrict output to
    // form #365.
	if( $form_data[ 'id' ] != 365 ) 
    return;

    $field[ 'label' ] = wpforms()->smart_tags->process( $field[ 'label' ], $form_data );
    return $field;

}

add_filter( 'wpforms_payment_multiple_field_display', 'wpf_dev_payment_multiple_field_display', 10, 3 );


// Run smart tags on single payment field label.
function wpf_dev_payment_single_field_display( $field, $field_atts, $form_data ) {

    // Optional, you can limit to specific forms. Below, we restrict output to
    // form #365.
	if( $form_data[ 'id' ] != 365 ) 
    return;

    $field[ 'label' ] = wpforms()->smart_tags->process( $field[ 'label' ], $form_data );
    return $field;

}

add_filter( 'wpforms_payment_single_field_display', 'wpf_dev_payment_single_field_display', 10, 3 );


Diese Funktionalität unterstützt keine Benutzereingabedaten (z. B. {field_id="3"}).

Und das ist alles! Sie können Ihre Smart Tags jetzt innerhalb von Feld-Labels verarbeiten. Möchten Sie Smart Tags in Feld-Beschreibungen verarbeiten? Schauen Sie sich unseren Artikel über Smart Tags in Feld-Beschreibungen verarbeiten an.

Filterreferenz: wpforms_textarea_field_display