Um recurso muito interessante e útil do Wordpres são os campos personalizados ou custom fields. Dependendo do seu projeto este recurso pode ser muito útil. Este recurso está disponível para os posts, páginas e também nos custom post types.
Vamos dar um exemplo básico para o uso dos campos personalizados, como um site de filmes por exemplo vamos ter a categoria filmes e que cada post desta categoria será sobre um filme. Usaremos o campo título para o título do filme, o campo de conteúdo para a sinopse do filme e vamos usar os campos personalizados para os dados como:
- Ano de produção
- Direção
- Classificação
- Gênero
- Duração
1. Após inserir os dados básicos como o título e a sinopse no campo do conteúdo vamos cadastrar os campos personalizados.
2. Vá até a janela de inclusão dos campos personalizados que se encontra logo abaixo do campo de conteúdo do post ou página, como a imagem abaixo:

Se você não visualizar a janela dos campos personalizados basta clicar no botão opções de tela que se encontra no canto superior direito do painel do WordPress e marcar o checkbox campos personalizados.
3. Adicione os campos personalizados como no exemplo da imagem acima onde o campo nome é a chave (key) e o campo valor é claro o valor do seu campo personalizado.
4. Com todos os dados cadastrados, precisamos agora que estes dados sejam exibidos no site. Existe mais de uma forma para exibir os dados dos campos personalizados, vamos usar primeiro a forma mais simples.
5. Abra o arquivo do seu tema em que vai exibir estes dados, o mais comum seria o arquivo single.php, apos exibir o conteúdo do post dentro do loop utilizando a função the_content(), insira logo abaixo a seguinte função:
<?php the_meta(); ?>
6. Salve e visualize seu post para ver o resultado, os dados dos campos personalizados serão exibidos no formato de uma lista que podem ser facilmente estilizadas utilizando css.
A outra forma de recuperar e exibir os valores dos campos personalizados é uma forma que torna mais flexível a manipulação dos dados, podendo ser combinados com outras tags de html para serem exibidos em outros formatos ou até mesmo para serem usados simplesmente para manipular seu código php.
1. Recuperando os dados inserindo dentro de uma variável e exibindo os dados. Insira o código abaixo dentro do seu loop.
<?php $direcao = get_post_meta(get_the_ID(),utf8_encode('Direção'),true); ?>
<?php echo $direcao; ?>
A função get_post_meta() recebe três parâmetros o ID do post que recuperamos usando a função get_the_ID(), o nome do campo personalizado (key), e o último parâmetro (single) define se o valor a ser retornado vai ser do tipo String retornando um valor ou Array retornando vários valores se tiver. No caso True ele vai retornar uma string com o valor do campo personalizado.
Importante: No exemplo acima precisei utilizar a função de php utf8_encode() porque o nome do meu campo personalizado continha caracteres especiais, se o nome do seu campo não conter caracteres especiais basta colocar o nome dele entre aspas simples.
2. Quando usar o valor False no parâmetro (single) para que seja retornado uma Array, bom um exemplo simples é se criarmos um campo personalizado (Telefone) e no seu post você inserir três telefones utilizando o campo personalizado (Telefone). Para poder exibir estes dados no seu post você teria que usar o parâmetro (single) como false para retornar uma Array com os três valores do campo (Telefone) e para exibir basta utilizar o exemplo abaixo dentro do seu loop:
<?php $tel = get_post_meta(get_the_ID(),'Telefone',false);
echo "<p>".$tel[0]."</p>";
echo "<p>".$tel[1]."</p>";
echo "<p>".$tel[2]."</p>";
?>