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.

campos de perfil

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á!

Autor: Paulo Faustino

Blog do Autor | Artigos do Autor:

Fundador da Escola Dinheiro. É um empreendedor e blogueiro que dedica a sua vida à produção e partilha de conteúdos de grande qualidade, contando já com alguns dos mais reconhecidos blogs de Portugal e do Brasil.

Templates Wordpress que Recomendamos:

  • U-Design WordPress Theme
  • Tersus - Responsive WordPress Theme
  • Modernize - Flexibility of Wordpress
  • Good Space - Responsive Minimal WP Theme
  • Sterling - Responsive Wordpress Theme
  • Karma - Clean and Modern Wordpress Theme
  • Doover Premium WordPress Theme
  • MayaShop - A Flexible Responsive e-Commerce Theme
  • SmartStart WP - Responsive HTML5 Theme
  • Striking Premium Corporate & Portfolio WP Theme
  • Core Minimalist Photography Portfolio
  • King Size - fullscreen background WordPress theme

Gostou deste artigo? Então torne-se fã do Blog no Facebook!


JobRoller - Premium Job Board Theme

Comentários dos Alunos


  1. Jose Correia
    05.12.2011

    Optimo artigo Paulo.
    Continue assim…
    Realmente dá muito jeito este artigo.

    Responder


    • Paulo Faustino
      05.12.2011

      Olá Jose, obrigado pelo comentário! Fico contente que tenha gostado do artigo ;)

      Abraços

      Responder


  2. Rick
    05.12.2011

    Gostei mesmo desse tutorial, Parabéns Paulo!

    Responder


    • Paulo Faustino
      05.12.2011

      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

      Responder


  3. Vitor Carvalho
    06.12.2011

    Fantástico Paulo, muito bom o artigo ;)

    Responder


  4. Heduard
    14.02.2012

    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!

    Responder


  5. Pedro P.
    01.04.2012

    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

    Responder


  6. julio césar
    19.05.2012

    Ola eu queria aprender a colocar o adsense nos textos dos meus post atraves do campo personalizado. alguém pode me ajudar!

    Responder

Comente o Artigo!

RSS
Twitter
Facebook
Comentários
ASSINANTES
SEGUIDORES
FÃS
COMENTÁRIOS
11486

Subscrever Newsletter
Subscreva a Newsletter:


Elegant Themes

Wix

Theme Forest

Mojo Themes



Assine a Escola Wordpress Assine a Newsletter da Escola Wordpress Escola Wordpress no Twitter Escola Wordpress no Facebook Escola Wordpress no Youtube Escola Wordpress no Google Buzz