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

So erstellen Sie weitere Benutzer-Smart-Tags

Einleitung

Möchten Sie benutzerdefinierte Smart Tags für Benutzer erstellen, die Sie in Ihren WPForms verwenden können, um Informationen aus dem WordPress-Benutzerprofil abzurufen?

Ein Smart Tag ist ein Code-Schnipsel, den Sie verwenden können, um relevante Informationen in Ihre Formularbenachrichtigungseinstellungen oder als Standardwerte für Felder einzufügen. In diesem Tutorial erstellen wir ein Formular für alle Standard-WordPress-Benutzeraufforderungen, die ein Profil ausmachen, und zeigen sie auf einer Seite an, damit Benutzer ihre Informationen bestätigen können.

Standardmäßig sind bereits einige benutzerbezogene Smart Tags mit WPForms verfügbar, wie z. B. Benutzer-ID, Anzeigename, Benutzer-Metadaten usw.

Der Smart Tag Benutzer-Metadaten kann als leere Abdeckung für benutzerdefinierte Felder verwendet werden, die zu den WordPress-Benutzerprofilen hinzugefügt wurden, wie z. B. soziale Links oder benutzerdefinierte Felder, die zum WordPress-Benutzerprofil hinzugefügt wurden.

Erstellung der neuen Smart Tags für Benutzer

Zuerst müssen wir diesen Code-Schnipsel zu unserer Website hinzufügen. Die erste Funktion, die den wpforms_smart_tags-Filter verwendet, erstellt die Smart Tags. Die zweite Funktion, die den wpforms_smart_tag_process-Filter verwendet, definiert die Smart Tags.

Wenn Sie Hilfe beim Hinzufügen von Codeausschnitten zu Ihrer Website benötigen, lesen Sie bitte dieses Tutorial.

/**
 * Create User Smart Tags from the WordPress profile.
 *
 * @link   https://wpforms.com/developers/how-to-create-more-user-smart-tags/
 */

function wpf_dev_register_user_profile_smart_tags ( $tags ) {
 
    // Key is the tag, item is the tag name.
    $tags[ 'wp_nickname' ]     = 'WP Profile Nickname';
    $tags[ 'wp_username' ]     = 'WP Profile Username';
    $tags[ 'wp_url' ]          = 'WP Profile URL';
    $tags[ 'wp_user_role' ]    = 'WP Profile User Role';
    $tags[ 'wp_user_bio' ]     = 'WP Profile Bio';
     
    return $tags;
}
 
add_filter( 'wpforms_smart_tags', 'wpf_dev_register_user_profile_smart_tags', 10, 1 );
 
 
/**
 * Process the User Smart Tags from the WordPress profile.
 *
 * @link   https://wpforms.com/developers/how-to-create-more-user-smart-tags/
 */
 
function wpf_dev_process_user_profile_smart_tags( $content, $tag ) {
 
    $userID = get_current_user_id();
 
    // Nickname from WordPress profile
    if ( 'wp_nickname' === $tag ) {
 
        $wp_nickname = get_the_author_meta( 'nickname', $userID );
		
        // Replace the tag with the nickname pulled from the user's WordPress profile.
        $content = str_replace( '{wp_nickname}', $wp_nickname, $content );
 
    }
 
    // Username from WordPress profile
    if ( 'wp_username' === $tag ) {
 
        $wp_username = get_the_author_meta( 'user_login', $userID );
		
        // Replace the tag with the username pulled from the user's WordPress profile.
        $content = str_replace( '{wp_username}', $wp_username, $content );
 
    }

    // Website URL from WordPress profile
    if ( 'wp_url' === $tag ) {
 
        $wp_url = get_the_author_meta( 'user_url', $userID );
		
        // Replace the tag with the Website URL pulled from the user's WordPress profile.
        $content = str_replace( '{wp_url}', $wp_url, $content );
 
    }

    // Current role from WordPress profile
    switch ($tag) {
 
        case "wp_user_role":
        $user = wp_get_current_user();
        $roles = implode(', ', (array) $user->roles);
        $content = str_replace( '{' . $tag . '}', $roles, $content );
        break;
 
    }

    // Bio from WordPress profile
    if ( 'wp_user_bio' === $tag ) {
 
        $wp_user_bio = get_the_author_meta( 'description', $userID );
		
        // Replace the tag with the user bio pulled from the user's WordPress profile.
        $content = str_replace( '{wp_user_bio}', $wp_user_bio, $content );
 
    }
 
    return $content;
}
 
add_filter( 'wpforms_smart_tag_process', 'wpf_dev_process_user_profile_smart_tags', 10, 2 );

Dieser Schnipsel fügt WP-Profil-Nickname, WP-Profil-Benutzername, WP-Profil-URL, WP-Profil-Benutzerrolle und WP-Profil-Bio hinzu. Diese Smart Tags verwenden wir in unserem Formular, um die Informationen abzurufen, die wir bereits aus dem WordPress-Profil des Benutzers haben, damit er die hinterlegten Informationen bestätigen kann.

Erstellung des Formulars

Jetzt ist es an der Zeit, unser Formular zu erstellen, damit wir unsere neuen Smart Tags verwenden können. Wenn Sie Hilfe bei der Erstellung eines Formulars benötigen, sehen Sie bitte diesen Artikel.

Für die meisten unserer Felder in diesem Formular fügen wir einfach das Formularfeld Einzeiliger Text hinzu. Sobald wir das Feld hinzugefügt und die Beschriftung aktualisiert haben, klicken Sie auf die Registerkarte Erweitert. Sie sehen das Feld Standardwert, wählen Sie einfach Smart Tags anzeigen und scrollen Sie, bis Sie einen der neuen Smart Tags finden, die wir gerade hinzugefügt haben. Sobald Sie den richtigen ausgewählt haben, wird dieser Smart Tag im Feld Standardwert für unser Feld angezeigt.

durch Hinzufügen benutzerdefinierter Benutzer-Smart-Tags zum Standardwert der Felder werden diese Informationen automatisch aus dem WordPress-Benutzerprofil übernommen

Wir werden unsere Felder und Smart Tags auf die gleiche Weise weiter hinzufügen. Für das Feld Bio verwenden wir das Formularfeld Absatztext, um die Bio anzuzeigen, aber die Schritte zum Hinzufügen des Smart Tags zum Feld Standardwert sind genau die gleichen wie oben.

Wenn die Benutzer dieses Formular besuchen, sehen sie nun, dass die Informationen standardmäßig bereits für sie abgerufen wurden.

Benutzer sehen ihre Informationen bereits in den Formularfeldern, wenn sie das Formular aufrufen

Weitere Informationen zur Erstellung anderer Smart Tags finden Sie im Artikel Erstellen eines benutzerdefinierten Smart Tags.

Und das ist alles, was Sie brauchen, um weitere Benutzer-Smart-Tags mit WPForms zu erstellen. Möchten Sie diese Smart-Tags in einem HTML / Code Block verwenden? In unserem Tutorial So verarbeiten Sie Smart-Tags in HTML-Feldern zeigen wir Ihnen, wie Sie PHP verwenden, um Smart-Tags in dieser Art von Formularfeld zu ermöglichen.

Filterreferenzen: