¡Atención!

Este artículo contiene código PHP y está destinado a desarrolladores. Ofrecemos este código como cortesía, pero no proporcionamos soporte para personalizaciones de código o desarrollo de terceros.

Para obtener ayuda adicional, consulta el tutorial de WPBeginner sobre cómo añadir código personalizado.

Descartar

Cómo crear más etiquetas inteligentes de usuario

Introducción

¿Te gustaría crear etiquetas inteligentes (Smart Tags) personalizadas para usarlas en tus WPForms que extraigan información del perfil de usuario de WordPress?

Una etiqueta inteligente (Smart Tag) es un fragmento de código que puedes usar para insertar información relevante en la configuración de notificación de tu formulario o como valores predeterminados de campo. En este tutorial, vamos a crear un formulario para todas las indicaciones predeterminadas de usuario de WordPress que componen un perfil y las mostraremos en una página para que los usuarios confirmen su información.

Por defecto, WPForms ya incluye algunas etiquetas inteligentes (Smart Tags) relacionadas con el usuario, como ID de usuario, Nombre para mostrar, Meta de usuario, etc.

La etiqueta inteligente (Smart Tag) Meta de usuario puede usarse como una cobertura en blanco para cualquier campo personalizado que se haya agregado a los perfiles de usuario de WordPress, como enlaces sociales o cualquier campo personalizado agregado al perfil de usuario de WordPress.

Creación de las nuevas etiquetas inteligentes (Smart Tags) de usuario

Primero, necesitaremos agregar este fragmento de código a nuestro sitio. La primera función que utiliza el filtro wpforms_smart_tags creará las etiquetas inteligentes (Smart Tags). La segunda función que utiliza el filtro wpforms_smart_tag_process definirá las etiquetas inteligentes (Smart Tags).

Si necesitas ayuda para agregar fragmentos de código a tu sitio, revisa 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 fragmento agrega Apodo del perfil de WP, Nombre de usuario del perfil de WP, URL del perfil de WP, Rol de usuario del perfil de WP y Biografía del perfil de WP. Usaremos estas etiquetas inteligentes (Smart Tags) en nuestro formulario para extraer la información que ya tenemos del perfil de WordPress del usuario para que puedan confirmar la información registrada.

Creación del formulario

Ahora es el momento de crear nuestro formulario para poder usar nuestras nuevas etiquetas inteligentes (Smart Tags). Si necesitas ayuda para crear un formulario, consulta este artículo.

Para la mayoría de nuestros campos en este formulario, simplemente agregaremos el campo de formulario Texto de línea única. Una vez que hayamos agregado el campo y actualizado la etiqueta, haz clic en la pestaña Avanzado. Verás el campo Valor predeterminado, simplemente selecciona Mostrar etiquetas inteligentes (Smart Tags) y desplázate hasta encontrar una de las nuevas etiquetas inteligentes (Smart Tags) que acabamos de agregar. Una vez que hayas seleccionado la correcta, esa etiqueta inteligente (Smart Tag) se mostrará dentro del Valor predeterminado para nuestro campo.

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

Continuaremos agregando nuestros campos y etiquetas inteligentes (Smart Tags) de la misma manera. Para el campo Biografía, usaremos el campo de formulario Texto de párrafo para mostrar la biografía, pero los pasos para agregar la etiqueta inteligente (Smart Tag) 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 está precargada para ellos por defecto.

los usuarios verán su información ya completando los campos del formulario cuando vean el formulario

Puedes encontrar más información sobre cómo crear otras etiquetas inteligentes (Smart Tags) consultando el artículo sobre Cómo crear una etiqueta inteligente (Smart Tag) personalizada.

Y eso es todo lo que necesitas para crear más etiquetas inteligentes de usuario con WPForms. ¿Te gustaría usar esas etiquetas inteligentes dentro de un Bloque HTML / Código? En nuestro tutorial Cómo procesar etiquetas inteligentes en campos HTML, te mostraremos cómo usar PHP para permitir etiquetas inteligentes en este tipo de campo de formulario.

Referencias de filtros: