Quantcast
Channel: iMasters - Paulo Faustino
Viewing all articles
Browse latest Browse all 20

Como criar uma página de opções para o seu Tema WordPress

$
0
0

Para quem trabalha com desenvolvimento web e/ou gosta de explorar todas as potencialidades do WordPress, construir uma página de opções para um Tema WordPress é, sem dúvida, uma opção a se considerar. O WordPress trabalha somente com onze tabelas no seu banco de dados, sendo que a tabela wp_options é uma das mais importantes - uma vez que ajuda o sistema a compreender como funciona seu site/ blog. Essa tabela guarda toda a informação relacionada com o seu site, incluindo o nome dele, sua descrição, a URL, entre muitas outras coisas. Todas essas informações podem ser facilmente puxadas usando a função get_option(), passando o nome do campo que você quer puxar. Por exemplo: get_option(‘home’) irá retornar a URL da sua homepage. Infelizmente, o WordPress não lhe permite criar novos campos facilmente nessa tabela, para que depois os possa puxar. Para isso, é preciso criar uma página de opções para o seu Tema WordPress, na qual você poderá colocar todos os campos e informações que desejar.

Os colegas do wptuts criaram recentemente um artigo com algumas estratégias bem interessantes no que diz respeito à criação de uma página de opções para o WordPress. Nos baseamos no artigo deles para desenvolver o nosso. Antes de começar, não se esqueça de que deverá fazer sempre um backup do seu Tema e/ou experimentar essas soluções num tema de testes que tenha disponível.

Puxar o ID do Twitter

Nós vamos basicamente criar uma página de opções que lhe permita armazenar o seu ID do Twitter e depois puxá-lo para o seu site/blog através da função get_option(‘twitterid’). Tenha em consideração que todas as funções devem ser colocadas dentro do arquivo functions.php do seu template. Caso não tenha um arquivo com esse nome em seu template, considere criar um com esse nome e os códigos abaixo indicados.

1. Adicionar menu de admin

Este pequeno código serve apenas para criar um novo menu de admin para que possamos ver a página.

add_action('admin_menu', 'add_global_custom_options');

2. Acionar função

Com este código, iremos acionar uma função customizada para criar um formulário que nos permita preencher esse campo.

function add_global_custom_options()
{
add_options_page('Global Custom Options', 'Global Custom Options', 'manage_options', 'functions','global_custom_options');
}

3. Gerar formulário

<?php
function global_custom_options()
{
?>
<div class="wrap">
<h2>Página de Opções/h2>
<form method="post" action="options.php">
<?php wp_nonce_field('update-options') ?>
<p><strong>ID do Twitter:</strong><br />
<input type="text" name="twitterid" size="45" value="<?php echo get_option('twitterid'); ?>" />
</p>
<p><input type="submit" name="Submit" value="Store Options" /></p>
<input type="hidden" name="action" value="update" />
<input type="hidden" name="page_options" value="twitterid" />
</form>
</div>
<?php
}
?>

Considere que esse formulário tenha apenas um campo ainda (ID do Twitter). Caso você pretenda acrescentar mais campos, siga os dois passos seguintes:

  • Crie uma nova caixa de texto com um nome único. Por exemplo, se você quiser criar um link para a sua página do Facebook, você faria assim:
<p><strong>Facebook Page Links:</strong><br />
<input type="text" name="fb_link" size="45" value="<?php echo get_option('fb_link'); ?>" />
</p>
  • Você precisa atualizar o valor do campo “page_options”, que neste caso deveria ser atualizado com ambos os nomes das funções respectivas. Veja:
<input type="hidden" name="page_options" value="twitterid,fb_link" />

Você consegue ver que os nomes das opções são adicionados usando apenas uma vírgula (,) separando-os. Se você não colocar a vírgula, nada irá funcionar corretamente.

Como usar?

Depois de colocar esses códigos no seu arquivo functions.php, veja a sua página de admin. Você irá ver um novo link no seu menu de Admin chamado “Página de Opções”. Introduza os seus valores no formulário e, para puxá-los, você apenas tem que usar as funções “get_option(‘twitterid’)” e “get_option(‘fb_link’)” por exemplo.

Este é apenas um artigo simples para você compreender como funciona a criação dessas páginas de opções. Se você desejar, pode posteriormente estender o nível de funcionalidade para coisas mais complexas, como campos para introduzir códigos JavaScript e HTML, opções de gravação, outras mídias sociais etc.


Viewing all articles
Browse latest Browse all 20