Cómo crear más etiquetas inteligentes de usuario

Introducción

¿Le gustaría crear etiquetas inteligentes de usuario personalizadas para utilizarlas en sus WPForms que extraerán información del perfil de usuario de WordPress?

Una etiqueta inteligente es un poco de código que puede utilizar para insertar información relevante a la configuración de notificación de su formulario o como valores predeterminados de campo. En este tutorial, vamos a un formulario para todas las notificaciones de usuario predeterminadas de WordPress que componen un perfil y mostrarlas en una página para que los usuarios confirmen su información.

Por defecto, ya hay algunas etiquetas inteligentes relacionadas con el usuario disponibles con WPForms como ID de usuario, nombre para mostrar, Meta de usuario, etc.

La Meta Etiqueta Inteligente de Usuario puede ser usada como una cobertura en blanco para cualquier campo personalizado que pueda haber sido añadido a los Perfiles de Usuario de WordPress tales como enlaces sociales o cualquier campo personalizado añadido al Perfil de Usuario de WordPress.

Creación del nuevo usuario Etiquetas inteligentes

En primer lugar, tendremos que añadir este fragmento de código a nuestro sitio. La primera función que utiliza el wpforms_smart_tags creará las etiquetas inteligentes. La segunda función que utiliza el wpforms_smart_tag_process definirá las etiquetas inteligentes.

Si necesita ayuda para añadir fragmentos de código a su sitio, consulte este 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 );

Este snippet añade WP Profile Nickname, WP Profile Username, WP Profile URL, WP Profile User Role, y WP Profile Bio. Estas etiquetas inteligentes que vamos a utilizar en nuestro formulario para tirar de la información que ya tenemos desde el perfil de WordPress del usuario para que puedan confirmar la información en el archivo.

Creación del formulario

Ahora es el momento de crear nuestro formulario para que podamos utilizar nuestras nuevas Etiquetas Inteligentes. Si necesitas ayuda para crear un formulario, consulta este artículo.

Para la mayoría de nuestros campos en este formulario, sólo vamos a añadir el campo de formulario Texto de una línea. Una vez que hemos añadido el campo y actualizado la etiqueta, haga clic en la pestaña Avanzado. Verá el campo Valor predeterminado, seleccione Mostrar etiquetas inteligentes y desplácese hasta encontrar una de las nuevas etiquetas inteligentes que acabamos de añadir. Una vez que haya seleccionado la correcta, esa etiqueta inteligente se mostrará dentro del valor predeterminado de nuestro campo.

añadiendo etiquetas inteligentes de usuario personalizadas al valor predeterminado de los campos, esta información se extraerá automáticamente del perfil de WordPress del usuario.

Continuaremos añadiendo nuestros campos y Etiquetas Inteligentes de la misma manera. Para el campo Bio, vamos a utilizar el campo de formulario Texto de párrafo para mostrar la biografía, pero los pasos para agregar la etiqueta inteligente al campo Valor predeterminado son exactamente los mismos que los anteriores.

Ahora, cuando los usuarios visiten este formulario, verán que la información ya se ha extraído por defecto.

los usuarios verán su información ya rellenando los campos del formulario cuando lo visualicen

Encontrará más información sobre la creación de otras etiquetas inteligentes en el artículo Cómo crear una etiqueta inteligente personalizada.

Y eso es todo lo que necesita para crear más Smart Tags de usuario con WPForms. ¿Le gustaría usar esas Smart Tags dentro de un Bloque HTML / Código? En nuestro tutorial Cómo Procesar Smart Tags en Campos HTML, le mostraremos cómo usar PHP para permitir Smart Tags en este tipo de campo de formulario.

Filtrar referencias: