Destaque PrincipalDestaque SecundárioPHPProgramaçãoTutoriaisWordpress

Como criar um tema no WordPress

Na dica de hoje, vamos ensinar a criar um tema básico para seu WordPress. Com estas dicas você conseguirá entender a estrutura do WordPress e assim construir temas personalizados para você desenvolver o site com a estrutura ideal para seu cliente.

Precisando de ajuda no seu WordPress? Fale conosco soloweb.com.br

Passo 1

Para começar a criar seu tema no WordPress, você deverá possuir acesso ftp ao sistema de arquivos do WordPress. Então para começar crie uma pasta com o nome do tema que você deseja criar vamos chamar aqui de “tutorial” e em seguida crie o sistema de arquivos nela.

Precisando de uma hospedagem de site ou de um servidor dedicado personalizado, seja para ambiente de teste, desenvolvimento ou de produção? E com um suporte de especialistas, que ti, ajudam a resolver os problemas o mais rápido possível? A SoloWeb tem o prazer em ti, ajudar com isso. Entre em contato conosco e faça uma cotação agora mesmo, acesse: www.soloweb.com.br.

Lembre de criar a pasta “tutorial” dentro da pasta de temas do WordPress que é a wp-content/themes/

Agora crie as seguintes estruturas:

index.php
header.php 
single.php 
comments.php 
footer.php
sidebar.php
page.php
functions.php

obs: lembrando aqui que vamos criar a estrutura básica para o funcionamento. Para mais arquivos de estrutura acesse a página do Manual do desenvolvedor WordPress.

Passo 2

Para iniciar o processo agora vamos criar a folha de estilo css(style.css), após criado vamos inserir informações iniciais no arquivo no qual o WordPress precisa para definir informações sobre seu tema:

/*
Theme Name: Tutorial
Author: Tutorial-Soloweb
Author URI: http://www.soloweb.com.br/blog
Description: Meu primeiro tema wordpress
Version: 1.0
License: GNU General Public License v3 or later
License URI: http://www.gnu.org/licenses/gpl-3.0.html
*/

Após configurar o style.css você vai ver seu tema já na tela de temas para ativação:

Agora vamos inserir algumas configurações no css importante para a responsividade e a outra apenas para mudar a cor do corpo do html.

* {
  box-sizing: border-box;

}

body {
    background-color: #dfdfdf;
    font-family: arial;
}

Passo 3

Vamos preencher agora o arquivo functions.php.

?php
// This function enqueues the Normalize.css for use. The first parameter is a name for the stylesheet, the second is the URL. Here we
// use an online version of the css file.
function add_normalize_CSS() {
    wp_enqueue_style( 'normalize-styles', "https://cdnjs.cloudflare.com/ajax/libs/normalize/7.0.0/normalize.min.css");
}
// Register a new sidebar simply named 'sidebar'
function add_widget_Support() {
                register_sidebar( array(
                                'name'          => 'Sidebar',
                                'id'            => 'sidebar',
                                'before_widget' => '<div>',
                                'after_widget'  => '</div>',
                                'before_title'  => '<h2>',
                                'after_title'   => '</h2>',
                ) );
}
// Hook the widget initiation and run our function
add_action( 'widgets_init', 'add_Widget_Support' );
// Register a new navigation menu
function add_Main_Nav() {
register_nav_menu('header-menu',__( 'Header Menu' ));
}
// Hook to the init action hook, run our navigation menu function
add_action( 'init', 'add_Main_Nav' );

?>

Em resumo praticamente fiz a chamada das funções do sidebar e dos menus de navegação. Inicialmente fiz também a chamada de um arquivo normalize.css esse arquivo faz com que seu site tenha o mesmo padrão para todos os navegadores.

Passo 4

Configuramos agora o arquivo sidebar.php:

<?php if ( is_active_sidebar( 'sidebar' ) ) : ?>
  <aside id="primary-sidebar" class="primary-sidebar widget-area" role="complementary">
    <?php dynamic_sidebar( 'sidebar' ); ?>
  </aside>
<?php endif; ?>

Isso faz com que a barra lateral e os widgets apareçam no seu tema sempre que get_sidebar() é inserido.

Passo 5

Agora vamos configurar o arquivo header.php o cabeçalho do seu tema.

<!DOCTYPE html>
<html <?php language_attributes(); ?>
 <head>
   <title><?php bloginfo('name'); ?> &raquo; <?php is_front_page() ? bloginfo('description') : wp_title(''); ?></title>
   <meta charset="<?php bloginfo( 'charset' ); ?>">
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   <link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>">
   <?php wp_head(); ?>
 </head>
 <body <?php body_class(); ?>>
   <header class="my-logo">
   <h1><a href="<?php echo esc_url( home_url( '/' ) ); ?>"><?php bloginfo('name'); ?></a></h1>
 </header>
 <?php wp_nav_menu( array( 'header-menu' => 'header-menu' ) ); ?>

Como pode ser visto, praticamente é uma configuração de um arquivo padrão html com elementos php e chamadas padrões do WordPress.

Passo 6

Vamos configurar agora o arquivo index.php

<?php get_header(); ?>
<main class="wrap">
  <section class="content-area content-thin">
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
      <article class="article-loop">
        <header>
          <h2><a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a></h2>
          By: <?php the_author(); ?>
        </header>
        <?php the_excerpt(); ?>
      </article>
<?php endwhile; else : ?>
      <article>
        <p>Sorry, no posts were found!</p>
      </article>
<?php endif; ?>
  </section><?php get_sidebar(); ?>
</main>
<?php get_footer(); ?>

Na página index, criamos um loop de posts com várias tags modelos onde explicarei mais a frente.

O loop de inicia <?php if (have_posts() ) : while ( have_posts() ) : the_post(); ?> e termina em <php endif; ?> as tags adicionais utilizadas são:

<?php the_permalink(); ?> – exibe o URL correto da postagem atual
<?php the_title_atribute(); ?> – exibe o título dessa postagem num formato seguro para o atributo do título do link
<?php the_tigle(); ?> – produz o título da postagem
<?php the_author(); ?> – exibe o trecho da postagem que é gerado automaticamente caso você não tenha escrito
<?php the_excerpt(); ?> – exibe o trecho da publicação, que é gerado automaticamente caso você não tenha escrito nada.

Passo 7

Este passo vamos configurar o rodapé(footer.php), vamos configurar com algo simples apenas para não deixar o arquivo em branco.

<footer>
      <p>Copyright &copy; 2017</p>
    </footer>
    <?php wp_footer(); ?>
  </body>
</html>

Passo 8

O single.php é o arquivo que define o layout da página de post, já o page.php é o layout das páginas do seu site, vamos mostrar modelo de configuração deles:

<?php get_header(); ?>
<main class="wrap">
  <section class="content-area content-full-width">
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
      <article class="article-full">
        <header>
          <h2><?php the_title(); ?></h2>
          By: <?php the_author(); ?>
        </header>
       <?php the_content(); ?>
      </article>
<?php endwhile; else : ?>
      <article>
        <p>Sorry, no post was found!</p>
      </article>
<?php endif; ?>
  </section>
</main>
<?php get_footer(); ?>

Acima é o single.php, abaixo agora vamos para o page.php.

<?php get_header(); ?>
<main class="wrap">
  <section class="content-area content-thin">
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
      <article class="article-full">
        <header>
          <h2><?php the_title(); ?></h2>
          By: <?php the_author(); ?>
        </header>
        <?php the_content(); ?>
      </article>
<?php endwhile; else : ?>
      <article>
        <p>Sorry, no page was found!</p>
      </article>
<?php endif; ?>
  </section><?php get_sidebar(); ?>
</main>
<?php get_footer(); ?>

Passo 8

Por último aqui vamos mostrar tags modelos para você poder trabalhar melhor seu tema:

get_header() – inclui o modelo header.php
get_sidebar() – inclui o modelo sidebar.php
get_footer() –  inclui o modelo footer.php
get_search_form() – inclui o modelo searchform.php
bloginfo() – mostra a informação solicitada como parâmetro, se não bloginfo(“nome”) apareça no nome do seu website como definido no painel de controle do administrador (como definido na lista de parâmetros)
single_post_title() – mostra o título da publicação atualmente exibida em single.php
the_author() – mostra o autor da publicação atualmente exibida
the_content() – mostra o texto principal de um post ou página.
the_exerpt() – o trecho do post ou página.

A lista completa de Tags modelo WordPress podem ser encontradas aqui.

Esperamos ter ajudado com mais esta dica, e siga nos, nas redes sociais para mais tutoriais, e se precisar de nossa ajuda estamos a disposição: www.soloweb.com.br.

E lembrando que a SOLOWEB além de oferecer Hospedagem de Sites, Servidores Dedicados, Servidores VPS com o menor custo do Brasil, também desenvolve soluções de software e realiza gerenciamento e monitoramento de servidores para sua empresa, faça uma cotação sem custo, acesse: www.soloweb.com.br