Atenção!

Este artigo contém código PHP e destina-se a programadores. Oferecemos este código como cortesia, mas não prestamos suporte para personalizações de código ou desenvolvimento de terceiros.

Para orientação adicional, consulte o tutorial da WPBeginner sobre como adicionar código personalizado.

Ignorar

Como Criar Mais User Smart Tags

Introdução

Gostaria de criar Smart Tags de utilizador personalizadas para usar nos seus WPForms que extraiam informações do Perfil de Utilizador do WordPress?

Uma Smart Tag é um pequeno código que pode usar para inserir informações relevantes nas suas definições de notificação de formulário ou como valores predefinidos de campo. Neste tutorial, vamos criar um formulário para todos os prompts de utilizador predefinidos do WordPress que compõem um perfil e exibi-los numa página para que os utilizadores confirmem as suas informações.

Por predefinição, já existem algumas Smart Tags relacionadas com o utilizador disponíveis com o WPForms, como ID do Utilizador, Nome a Exibir, Meta do Utilizador, etc.

A Smart Tag Meta do Utilizador pode ser usada como uma cobertura em branco para quaisquer campos personalizados que possam ter sido adicionados aos Perfis de Utilizador do WordPress, como links de redes sociais ou quaisquer campos personalizados adicionados ao Perfil de Utilizador do WordPress.

Criação das novas Smart Tags de utilizador

Primeiro, precisaremos de adicionar este trecho de código ao nosso site. A primeira função que usa o filtro wpforms_smart_tags criará as Smart Tags. A segunda função que usa o filtro wpforms_smart_tag_process definirá as Smart Tags.

Se precisar de ajuda para adicionar trechos de código ao seu site, por favor reveja 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 está a adicionar Apelido do Perfil WP, Nome de Utilizador do Perfil WP, URL do Perfil WP, Função do Utilizador do Perfil WP e Bio do Perfil WP. Estas Smart Tags usaremos no nosso formulário para extrair as informações que já temos do perfil do utilizador do WordPress para que possam confirmar as informações em arquivo.

Criação do formulário

Agora é hora de criar o nosso formulário para que possamos usar as nossas novas Smart Tags. Se precisar de ajuda para criar um formulário, consulte este artigo.

Para a maioria dos nossos campos neste formulário, estamos apenas a adicionar o campo de formulário Texto de Linha Única. Assim que adicionarmos o campo e atualizarmos o rótulo, clique no separador Avançadas. Verá o campo Valor Predefinido, basta selecionar Mostrar Smart Tags e percorrer até encontrar uma das novas Smart Tags que acabámos de adicionar. Assim que selecionar a correta, essa Smart Tag será exibida dentro do Valor Predefinido para o nosso campo.

ao adicionar etiquetas inteligentes de utilizador personalizadas ao valor predefinido dos campos, esta informação será automaticamente extraída do perfil de utilizador do WordPress

Continuaremos a adicionar os nossos campos e Smart Tags da mesma forma. Para o campo Bio, vamos usar o campo de formulário Texto de Parágrafo para exibir a bio, mas os passos para adicionar a Smart Tag ao campo Valor Predefinido são exatamente os mesmos de cima.

Agora, quando os utilizadores visitarem este formulário, verão que as informações já foram extraídas por predefinição.

os utilizadores verão as suas informações a preencher automaticamente os campos do formulário quando visualizarem o formulário

Pode encontrar mais informações sobre a criação de outras Smart Tags consultando o artigo em Como Criar Uma Smart Tag Personalizada.

E é tudo o que precisa para criar mais etiquetas inteligentes de utilizador com o WPForms. Gostaria de usar essas etiquetas inteligentes dentro de um Bloco HTML / Código? No nosso tutorial Como Processar Etiquetas Inteligentes em Campos HTML, vamos mostrar-lhe como usar PHP para permitir etiquetas inteligentes neste tipo de campo de formulário.

Referências de Filtros: