Para quem é utilizador do nosso Diretório de Blogs, especialmente depois do relançamento que efectuámos, percebe facilmente que algumas das opções do perfil de usuário, incluem campos personalizados (Custom Fields) que não existem no padrão de utilização do WordPress, ou seja, criámos código personalizado para introduzir essas alterações no Tema WordPress que desenvolvemos para o Diretório. Estas alterações ao perfil do usuário são extremamente interessantes quando o objetivo é mostrar informações complementares ao perfil do usuário, como a sua página do Facebook, o seu perfil no Twitter, entre outras.
Fizemos isso também no nosso blog sobre como ganhar dinheiro, onde os perfis dos autores incluem links para os seus perfis em mídias sociais como o Twitter e Facebook. Esta opção é igualmente interessante para quem tem blogs com múltiplos autores e/ou registro aberto a usuários.

INSERIR CAMPOS PERSONALIZADOS NO TEMA
O código que desenvolvemos para incluir estes campos personalizados no tema é na verdade muito simples de executar. Você pode inclusive editar o código para acrescentar outros campos e/ou editar os campos já criados. Ao nível de funcionamento, você apenas necessita de copiar o código e colá-lo dentro do ficheiro functions.php do seu template WordPress:
<?php
// CAMPOS DE PERFIL PERSONALIZADOS
add_action( 'show_user_profile', 'my_show_extra_profile_fields' );
add_action( 'edit_user_profile', 'my_show_extra_profile_fields' );
function my_show_extra_profile_fields( $user ) { ?>
<h3>Você nas redes sociais</h3>
<table class="form-table">
<tr>
<th><label for="twitter">Twitter</label></th>
<td>
<input type="text" name="twitteruser" id="twitteruser" value="<?php echo esc_attr( get_the_author_meta( 'twitteruser', $user->ID ) ); ?>" class="regular-text" /><br />
<span class="description">O seu nome de usuário do Twitter</span>
</td>
</tr>
<tr>
<th><label for="facebookuser">Facebook</label></th>
<td>
<input type="text" name="facebookuser" id="facebookuser" value="<?php echo esc_attr( get_the_author_meta( 'facebookuser', $user->ID ) ); ?>" class="regular-text" /><br />
<span class="description">O seu perfil no Facebook (URL)</span>
</td>
</tr>
</table>
<h3>Mais sobre si</h3>
<table class="form-table">
<tr>
<th><label for="pais">País</label></th>
<td>
<input type="text" name="pais" id="pais" value="<?php echo esc_attr( get_the_author_meta( 'pais', $user->ID ) ); ?>" class="regular-text" /><br />
<span class="description">O seu país</span>
</td>
</tr>
<tr>
<th><label for="cidade">Cidade</label></th>
<td>
<input type="text" name="cidade" id="cidade" value="<?php echo esc_attr( get_the_author_meta( 'cidade', $user->ID ) ); ?>" class="regular-text" /><br />
<span class="description">Cidade onde se encontra</span>
</td>
</tr>
</table>
<?php } ?>
GRAVAR OS DADOS INSERIDOS
Juntamente com o código anterior, você irá necessitar de um segundo código que diga ao WordPress para gravar as informações e mantê-las intactas até o usuário decidir reescrever esses campos com novas informações. O processo é idêntico ao primeiro, ou seja, você tem de copiar e colar o código no ficheiro functions.php do seu tema WordPress:
<?php
// GUARDAR E MANTER INFO DOS CAMPOS
add_action( 'personal_options_update', 'my_save_extra_profile_fields' );
add_action( 'edit_user_profile_update', 'my_save_extra_profile_fields' );
function my_save_extra_profile_fields( $user_id ) {
if ( !current_user_can( 'edit_user', $user_id ) )
return false;
update_usermeta( $user_id, 'twitteruser', $_POST['twitteruser'] );
update_usermeta( $user_id, 'facebookuser', $_POST['facebookuser'] );
update_usermeta( $user_id, 'cidade', $_POST['cidade'] );
update_usermeta( $user_id, 'pais', $_POST['pais'] );
}
?>
MOSTRAR OS DADOS NO BLOG
Depois de configurar todos os aspectos de preenchimento dos dados, você vai desejar mostrar esses dados no seu blog, para que os seus leitores possam acessar as informações referentes aos perfis do Twitter, Facebook, etc. Para o fazer, utilize um dos seguintes códigos:
<?php if ( $curauth->facebookuser ) { ?>
<a href="http://www.facebook.com/<?php echo $curauth->facebookuser; ?>" target="_blank"><div class="facebookb">facebook</div></a>
<?php } ?>
<?php if ( $curauth->twitteruser ) { ?>
<a href="http://www.twitter.com/<?php echo $curauth->twitteruser; ?>" target="_blank"><div class="twitterb">twitter</div></a>
<?php } ?>
E basicamente é isto. Não irá precisar de mais nada para que os seus perfis de usuário estejam mais completos e funcionais do que nunca!
Até já!
























































Jose Correia
Optimo artigo Paulo.
Continue assim…
Realmente dá muito jeito este artigo.
Paulo Faustino
Olá Jose, obrigado pelo comentário! Fico contente que tenha gostado do artigo
Abraços
Rick
Gostei mesmo desse tutorial, Parabéns Paulo!
Paulo Faustino
Olá Rick, obrigado pelo comentário! Acredito que são funcionalidades bem úteis, que fazem a diferença na hora entre ter um blog comum e um blog único, com recortes e pormenores que fazem a diferença
Abraços
Vitor Carvalho
Fantástico Paulo, muito bom o artigo
Heduard
Caro Paulo, muito bom seu artigo!
Aproveitando, tem alguma forma de faser ele gravar e buscar esses dados na tabela wp_users, pois como está ele nuca na usermeta??
Obrigado e parabéns mais uma vez!
Pedro P.
Olá, Paulo.
Eu estou tendo alguns problemas. Será que pode me ajudar? Fiz exatamente como o tutorial indica. Mas na hora de exibir os dados, eles simplesmente não condizem.
Olhei a página do Authors Template e pelo que entendi para mostrar as informações usando o Current Author eu precisaria de criar e usa-los no author.php. Eu estou querendo disponibilizar essas informações no loop do single.
Poderia me dar uma luz?
Obrigado,
Pedro
julio césar
Ola eu queria aprender a colocar o adsense nos textos dos meus post atraves do campo personalizado. alguém pode me ajudar!