Snippets e Shortcodes

Como adicionar contatos no perfil de autor do WordPress

Google+ Pinterest LinkedIn Tumblr
Anúncios Google

Como sempre, eu andava às voltas com um dilema enquanto tentava automatizar o link de contato dos autores dentro dos posts: chamar o endereço do perfil no GooglePlus dos dados do autor (aqueles que a gente insere na página “Seu Perfil”).

MAS pera, quem usa WordPress já notou algo errado… Não existe esse campo de GooglePlus lá 🙁

Uma gambiarra comum é colocar o endereço de qualquer rede social ali e proceder normalmente: por exemplo, pra chamar o link do Facebook (campo que não existe normalmente), coloca-se o URL do perfil no campo do AIM, e o chama pelo <?php the_author_meta(‘aim’); ?>. Uma gambiarrinha já que o campo não é pra isso, mas funciona.

Não sei porque o time de desenvolvimento não mudou isso ainda, parece que o sistema parou no tempo e ainda oferece opções apenas de AIM, Yahoo Instant Messenger e Google Talk. Talvez no exterior isso seja popularíssimo, mas por aqui precisamos de coisas mais simples: Twitter, Facebook, G+, etc.

Pois bem, como não queria gambiarra, fiz um monte de ca bobagem até enfim encontrar a solução ideal, com algumas pequenas modificações no original. Você verá pela estrutura que é bem fácil inserir outros campos e depois chamar os contatos no perfil do autor em qualquer lugar.

Primeiro, a aparência da página de autor normal.

Informações de contato padrão do WordPress

E agora depois das alterações que serão feitas:

Informações de contato do WordPress com novos campos: Facebook, Twitter, GPlus, Pinterest e LinkedIn

Melhor, não? Vamos fazer já.

Abra seu arquivo functions.php e insira o seguinte:

// novas infos de contato
 function novos_contatos($contactmethods) {
 unset($contactmethods['aim']);
 unset($contactmethods['yim']);
 unset($contactmethods['jabber']);
 $contactmethods['facebook'] = 'Facebook';
 $contactmethods['twitter'] = 'Twitter';
 $contactmethods['linkedin'] = 'LinkedIn';
 $contactmethods['gplus'] = 'GooglePlus';
 $contactmethods['pinterest'] = 'Pinterest';
 return $contactmethods;
 }
 add_filter('user_contactmethods', 'novos_contatos');

Com essa nova função você desabilitou os contatos antigos com os “unset”. Ou seja, se quiser manter algum deles, é só apagar a linha correspondente de unset.

Depois, “contactmethods” criam novos campos; no caso serão cinco novos contatos com as redes mais populares, acrescida do LinkedIn. Vá então ao seu perfil e digite nos campos correspondentes as informações. Não esqueça de salvar.

Para chamá-las no seu tema, use no lugar desejado:

<a href="<?php the_author_meta('facebook', $current_author->ID); ?>">Facebook</a>

Isso cria um link para o conteúdo do campo Facebook. Para as outras redes é o mesmo sistema, basta trocar o the_author_meta pelo que vai usar. Se quiser chamar o URL do seu Google+, use gplus, e assim por diante.

Como disse, é fácil adicionar campos. Se você quer, digamos, ter um campo ali para o Orkut, adicione um contactmethods, assim:

$contactmethods['orkut'] = 'Orkut';

Isso é muito útil pra quem quer criar caixas de autor com informações de contato no perfil, por exemplo, ou linkar o avatar em algum ponto com a rede social. Dúvidas e sugestões, comente!

Origem: How to Add Custom User Contact Info in WordPress, de Thomas Griffin.

Fundador do Tutoriart em 2010, é ex-instrutor de Photoshop, design web e gráfico. Em quase uma década de redação online, tem cerca de 1500 artigos publicados. Gerencia também o Memória BIT.

5 Comentários

  1. Boa tarde
    como voce adicionou os botoes ao “sobre este autor” e as opções “x” artigos de … ?

    teria alguma forma de anexar automaticamente as redes cadastradas no perfil, a opção “sobre o autor” ?

    • Olá,
      Tem que fazer em PHP uma série de “if” para checar se o campo tem alguma informação e então exibir o botão – que é estilizado em CSS. Um exemplo comentado (só com um botão):

      ID); ?>">Facebook

      Assim você vai criar um link para o Facebook e pode estilizar para o efeito de botão. Use o “inspecionar elemento” do navegador pra checar como eu fiz, mas é simples: só usar text-indent negativo no texto do link e colocar a imagem como background.

      Quanto ao “x artigos”, veja aqui http://www.tutoriart.com.br/snippet/contador-de-artigos-por-autor/

  2. Daniel meu comentário não é sobre o post, eu assino sua newsletter mas a cor do texto que aparece lá é muito clara, é quase branco, porque você deixa assim? coloca uma cor mais escura ou até mesmo preto.

    Abraços!!!

Deixe um Comentário

Pin