Há algum tempo que desejávamos iniciar esta série de artigos, a partir da qual esperamos ajudá-lo a aprender como criar um template WordPress. Esta série irá analisar passo-a-passo todas as diferentes fases do desenvolvimento de um template para WordPress, e para que você consiga analisar e implementar todas elas, decidimos partir esta ideia em vários artigos mais simples de assimilar e explorar. No final da série, certamente conseguirá criar seu template WordPress!

Os templates wordpress são hoje em dia cada vez mais procurados e podem ser facilmente criados com o intuito de serem vendidos em mercados como a Theme Forest ou a Mojo Themes. Qualquer pessoa que deseje entrar neste mundo fascinante do desenvolvimento de templates para wordpress, pode posteriormente comercializá-los nesses mercados e começar a ganhar dinheiro produzindo templates de qualidade.

Se não deseja perder pitada desta nova série sobre Como criar um Template WordPress, considere assinar a nossa newsletter e receber todos os próximos artigos por email e comodamente. É grátis!

Endereço de Email:

Vejamos algumas das competências do template que vamos desenvolver ao longo dos próximos artigos:

  • Otimização para motores de busca
  • Marcação com suporte Microformato da Google
  • Semântica da estrutura de marcação válida e lógica que pode ser usada em qualquer template
  • Layouts de CSS inteligentes
  • Classes dinâmicas para o corpo, postagens e comentários
  • Trackbacks e comentários em árvore separados
  • 2 áreas para widgets que desaparecem quando não estão ocupadas
  • Tudo o resto que é normal num template WordPress

No final desta série de tutoriais, com o código feito e pronto a ser implementado, você poderá fazer praticamente tudo aquilo que desejar com ele. Você pode inclusive olhar para o resultado final como a sua framework WordPress de trabalho.

CONSTRUINDO A BARRA LATERAL (SIDEBAR.PHP)

Sabemos que você tem esperado pacientemente por este artigo. Toda a gente adora a barra lateral de um Template WordPress. Mas para não variar, iremos criar uma barra lateral um pouco diferente do que é habitual em Templates WordPress. A nossa vai ser melhor e mais funcional!

FUNÇÕES CUSTOMIZADAS NA BARRA LATERAL

Primeiro as coisas mais importantes. Criando uma barra lateral em WordPress, uma das primeiras coisas a ter em consideração é que essa barra suporte widgets. A nossa barra lateral vai ter duas secções de widgets. Desta forma poderemos adaptar mais facilmente o código a templates de 2-colunas ou 3-colunas.

Isto é bastante simples e direto. No nosso ficheiro functions.php vamos registrar as nossas áreas de widgets com o seguinte código.

      // Registrar áreas de widgets
      function theme_widgets_init() {
       // Área 1
       register_sidebar( array (
       'name' => 'Primary Widget Area',
       'id' => 'primary_widget_area',
       'before_widget' => '<li id="%1$s" class="widget-container %2$s">',
       'after_widget' => "</li>",
       'before_title' => '<h3 class="widget-title">',
       'after_title' => '</h3>',
        ) );

       // Área 2
       register_sidebar( array (
       'name' => 'Secondary Widget Area',
       'id' => 'secondary_widget_area',
       'before_widget' => '<li id="%1$s" class="widget-container %2$s">',
       'after_widget' => "</li>",
       'before_title' => '<h3 class="widget-title">',
       'after_title' => '</h3>',
        ) );
      } // end theme_widgets_init

      add_action( 'init', 'theme_widgets_init' );

Agora temos duas áreas de widgets: A área de widget primária (Primary) e a área de widget secundária (Secondary). Não existe interesse em estar a chamar-lhes barra lateral primária e barra lateral secundária. Em alguns templates nem barra lateral existe, mas no entanto existem zonas compatíveis com widgets.

Agora, ainda no ficheiro functions.php iremos adicionar mais duas customizações super interessantes e engraçadas.

Primeiro, vamos definir os widgets pré-definidos: A pesquisa, páginas, categorias, arquivos, links e meta. Não iremos programar esses conteúdos manualmente no ficheiro sidebar.php. Iremos simplesmente dizer ao WordPress para os adicionar como widgets automaticamente na nossa área de widgets através das opções.

      $preset_widgets = array (
       'primary_widget_area'  => array( 'search', 'pages', 'categories', 'archives' ),
       'secondary_widget_area'  => array( 'links', 'meta' )
      );
      if ( isset( $_GET['activated'] ) ) {
       update_option( 'sidebars_widgets', $preset_widgets );
      }
      // update_option( 'sidebars_widgets', NULL );

Agora, na nossa área de widgets primária (primary_widget_area) temos então o widget de pesquisa, o widget de páginas, o widget de categorias, e o widget de arquivos. A área de widgets secundária (secondary_widget_area) tem os widgets para links e meta. Todos eles são carregados automaticamente com o template através das opções.

Consegue ver o código // update_option( 'sidebars_widgets', NULL ); na última linha? Se por alguma razão quiser zerar seus widgets, remova esse código. Como provavelmente perceberá, NULL significa sem widgets.

Agora, iremos criar uma nova condicional que irá verificar se existem widgets em alguma das nossas áreas de widgets. Isto será incrivelmente útil quando desenvolvemos a nossa barra lateral.

      // Verificar widgets nas áreas de widgets
      function is_sidebar_active( $index ){
        global $wp_registered_sidebars;

        $widgetcolums = wp_get_sidebars_widgets();

        if ($widgetcolums[$index]) return true;

       return false;
      } // end is_sidebar_active

Agora temos de colocar estes códigos a funcionar corretamente.

PROGRAMANDO A BARRA LATERAL

Com as nossas áreas de widgets dinâmicas registradas e os nossos widgets pré-definidos, o nosso Template da Barra Lateral será um dos mais simples que alguma vez viu. Mas lembre-se, iremos também envolver as nossas barras laterais numa declaração IF usando a nossa condicional is_sidebar_active().

Eis então como o código irá se parecer:

      <?php if ( is_sidebar_active('primary_widget_area') ) : ?>
        <div id="primary" class="widget-area">
         <ul class="xoxo">
          <?php dynamic_sidebar('primary_widget_area'); ?>
         </ul>
        </div><!– #primary .widget-area –>
      <?php endif; ?>  

      <?php if ( is_sidebar_active('secondary_widget_area') ) : ?>
        <div id="secondary" class="widget-area">
         <ul class="xoxo">
          <?php dynamic_sidebar('secondary_widget_area'); ?>
         </ul>
        </div><!– #secondary .widget-area –>
      <?php endif; ?>

Agora, se for na página de administração dos widgets e retirar todos os widgets das suas áreas de widget irá verificar que a nossa condicional dá erro. Isso significa que terão de existir widgets nas áreas para que o seu template funcione corretamente.

Essa a forma como gostamos que as coisas funcionem. Como reparou também, estamos muito pertinho do final, portanto, fique atento que a nossa série está quase terminando!

ESTÁ ACOMPANHANDO? TEM DÚVIDAS?

Este décimo artigo teve como base a programação da nossa barra lateral e a sua devida otimização. O mais importante neste momento é que você compreenda os passos que vamos dando e caso tenha dúvidas, poderá colocá-las sem problema. Contamos com a sua participação e as suas dúvidas. Está gostado? Participe com seus comentários!

Se não deseja perder pitada desta nova série sobre Como criar um Template WordPress, considere assinar a nossa newsletter e receber todos os próximos artigos por email e comodamente. É grátis!

Endereço de Email:

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!


WooThemes - WordPress themes for everyone

Comentários dos Alunos


  1. Parabéns, muito valiosa a dica para quem está começando.

    Obrigado :)

    Responder


    • Luis
      12.05.2011

      Olá, estou seguindo esses tutoriais, mas ao testar o template, o mesmo não carrega os Widgets, entro em temas|opções e arrasto os Widgets para as áreas, mas ao atualizar a página do admin, ele some de novo, não está aceitando, porque será?

      Responder


  2. Joaquim Pierdoná
    13.10.2011

    o codigo para ativar a sidebar deve ser is_active_sidebar nossa me bati um monte pra fazer funcionar

    Responder


  3. Lemuel Gonçalves
    01.11.2011

    Não entendi como colocar duas sidebar.php devo mudar os nomes dos arquivos?

    Preciso colocar duas sidebar no meu index.php. Se puder me esclarecer te agradeço.

    Abcs.

    Responder


  4. max
    13.11.2011

    ao tentar usar a is_active_sidebar

    ocorre o seguinte erro:
    Fatal error: Cannot redeclare is_active_sidebar() (previously declared in …
    o erro diz que não pode redeclar a função mencionada
    um referencia do codex:
    http://codex.wordpress.org/Function_Reference/is_active_sidebar

    o codex diz que ela é um tag condicional que retorna true se o sidebar registrado tem algum (widgets) que está ativo ou false caso não.

    ao que parece a função não precisa ser declarada, na verdade não pode ser, pois ela não pode sofre sobreescrita.
    é bom também observar o Change Log:
    Since: 2.8.0
    não tenho certeza, mas penso que esse tutorial seja baseado na 2.7

    Responder


  5. Pedro
    15.01.2012

    Parabéns pelo artigo!
    Estou aprendendo muito sobre WP com suas dicas!

    Responder


  6. Dyogo
    22.03.2012

    Amigo eu preciso criar um link no sidebar.php, esse link vai chamar no caso as thumbnail de todas galerias, já coloquei o código em php no sidebar.php só que ele quebra o site todo. Pode me ajudar?

    Responder

Comente o Artigo!

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

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