Adicionando funcionalidade com functions.php do WordPress

Este artigo apresenta um dos temas mais importantes no desenvolvimento WordPress: functions.php. O arquivo de funções é um dos complexos, interessantes e poderosos no arsenal de um tema WordPress.

Este tutorial sobre functions.php tutorial,  em todos os parágrafos, são todos capítulos do nosso guia. E você vai aprender a adicionar funções através de códigos dentro deste arquivo.

A melhor maneira de aprender o desenvolvimento do WordPress

Principais conclusões sobre functions.php no WordPress

O functions.php é um arquivo PHP especialmente nomeado que pode ser localizado dentro de qualquer tema WordPress. O WordPress sabe executar o código functions.php durante o processamento normal do PHP.

O functions.php tem o trabalho de adicionar funcionalidade personalizada ao tema e ao site. Ele é composto de funções PHP – pequenos pedaços de código PHP que adicionam ou alteram a funcionalidade em todo o site.

Como functions.php está dentro do tema, suas adições de funcionalidade devem ser de natureza de apresentação . Os exemplos incluem: inserir enqueue folhas de estilo CSS e arquivos JavaScript atuais, ativando imagens em destaque, registrando tamanhos de imagens personalizados e registrando menus de navegação e áreas de widgets.

E não para por aí.

O arquivo functions.php é o cérebro de um tema WordPress: é onde ditamos todos os tipos de funcionalidade de apresentação.

As funções do PHP que controlam como as coisas são exibidas, em vez dos dados subjacentes do site, para o tema. Neste tutorial, abordaremos como trabalhar functions.php e algo do que ele pode fazer por seu tema e site.

O que realmente o arquivo  functions.php faz

functions.php existe para fornecer funções úteis do PHP de apresentação: pequenos pedaços de trabalho que mudam como o site é exibido.

Em um tema WordPress, functions.php existe para fornecer ao tema funções úteis do PHP de apresentação : pequenos pedaços de trabalho que mudam como o site é exibido de formas definidas.

Mantendo-o apresentável

Pergunte a si mesmo: Se eu mudasse de tema, perderia muitos dados , ou as coisas seriam exibidas de forma diferente? Deve ser o último para funções internas functions.php.

As alterações de apresentação não alteram os dados subjacentes do site: coisas como postagem de conteúdo, usuários registrados, tipos de postagens personalizadas, taxonomias, como tags e categorias, ou dados de todo o site, como: título do site ou códigos de desconto do cliente.

Para saber se uma função está qualificada, pergunte-se: Se eu alterei os temas, perderia dados ou as coisas seriam exibidas de forma diferente? Se você perder dados: um tipo de postagem desapareceria, perderia os códigos de desconto do cliente. Então você se desviou do papel de apresentação dos temas.

functions.php Autoloads, antes do resto do tema

Como o functions.php autoloads primeiro, suas funções estão disponíveis em qualquer lugar no seu tema.

functions.php é um arquivo PHP que o WordPress sabe examinar como parte de seu processo de fábrica. Ele ignorará a maioria dos nomes de arquivos por padrão, mas sabe abrir um tema ativo functions.php, ver o que está dentro e executá-lo.

O WordPress entende que os outros arquivos do seu tema podem depender de funções functions.php. Isso significa que o mecanismo PHP precisa ser carregado functions.php antes de carregar as páginas na hierarquia de modelos.

O autoloading functions.php significa que suas funções estão disponíveis para você em qualquer um dos arquivos PHP do seu tema. Como resultado, é o lugar no seu tema para colocar chamadas de função do WordPress que devem sempre ser executadas ou estar disponíveis. Esta é uma parte incrivelmente valiosa do desenvolvimento do tema WordPress.

Usos de functions.php no WordPress

Vamos dar uma olhada em apenas um trecho de wpfoco functions.php e ver o que está fazendo por nós:

<?php
// Adicionar suporte ao tema para imagens em destaque e adicionar alguns tamanhos de imagem personalizados
add_theme_support( 'post-thumbnails' ); 
add_image_size( 'featured-image-large', 640, 294, true );
add_image_size( 'featured-image-small', 200, 129, true );
add_image_size( 'featured-image-tiny', 124, 80, true );

// Enfileirar o tema JavaScripts e estilos CSS
function wpfoco_scripts( ) {
// Enqueue JS that gives the search box a default value
wp_enqueue_script( 
'search-box-value',
get_stylesheet_directory_uri() . '/js/search-box-value.js',
array( 'jquery' )
);

// Enfileirar JS que define uma altura mínima de página dinâmica
wp_enqueue_script( 
'page-min-height',
get_stylesheet_directory_uri() . '/js/page-min-height.js',
array( 'jquery' )
);

// Enfileirar a folha de estilos do tema principal
wp_enqueue_style( 
'wpfoco-style',
get_stylesheet_uri()
);
}
add_action( 'wp_enqueue_scripts', 'wpfoco_scripts' );

// Registrar menu de navegação principal
function wpfoco_register_menu( ) {
register_nav_menu( 'main-nav', 'Main Nav' );
}
add_action( 'init', 'wpfoco_register_menu' );

O restante do capítulo examinará cada parte do código acima.

CRIANDO FUNÇÕES DISPONÍVEIS GLOBALMENTE

O functions.php é onde adicionar funções que alteram a maneira como o WordPress é executado em todas as cargas de páginas.

O functions.php é onde você adicionará funções que alteram como o WordPress é executado em cada carregamento de página. Estamos fazendo alguns deles no snippet acima:

Adicionando suporte de imagem em destaque e tamanhos de imagem personalizados

// Adicionar suporte para imagens em destaque e tamanhos de imagem
add_theme_support( 'post-thumbnails' ); 
add_image_size( 'featured-image-large', 640, 294, true );
add_image_size( 'featured-image-small', 200, 129, true );
add_image_size( 'featured-image-tiny', 124, 80, true );

Este primeiro bloco usa uma função do WordPress chamada add_theme_support() para dizer ao WordPress que o tema estará usando imagens em destaque.

Um termo antigo para imagens em destaque é post thumbnails.  E é por isso que a função leva  post-thumbnails como um argumento.

Em seguida, o bloco utiliza outra função WordPress chamado add_image_size() de registrar três tamanhos de imagem especiais que definem: featured-image-large, featured-image-small, e featured-image-tiny. Toda vez que enviamos uma nova imagem para o site, o WordPress agora gera versões redimensionadas dessa imagem com as dimensões que especificamos: 640 pixels de largura por 294 pixels de altura e assim por diante.

Registrando uma nova área de menu de navegação

// Register main navigation menu
function wpfoco_register_menu( ) {
register_nav_menu( 'main-nav', 'Main Nav' );
}
add_action( 'init', 'wpfoco_register_menu' );

Este bloco usa uma função WordPress register_nav_menu(), para registrar um novo menu de navegação. Esta chamada de função é envolto em uma outra função que nós escrevemos: wpfoco_register_menu().

Para fazer o registro, usamos a função WordPress add_action() para conectar wpfoco_register_menu() em um gancho de ação do WordPress chamado init.

Não se preocupe muito com essa terminologia agora: explicaremos no WordPress Ganchos, Ações e Filtros. O que eles fazem e como funcionam. O que isso significa é que wpfoco_register_menu() agora será executado toda vez que o WordPress executar seu processo – o que o WordPress faz perto do início de cada carregamento de página da web.

Assim, podemos fazer o percurso wpfoco_register_menu() até o início de cada carregamento de página da web. E o que wpfoco_register_menu() faz? Ele usa register_nav_menu() para registrar – causar WordPress para saber sobre – uma nova área de menu de navegação intitulada Navegação principal.

CARREGANDO RECURSOS GLOBALMENTE NECESSÁRIOS

functions.php é onde você registra arquivos JavaScript e folhas de estilo CSS globalmente necessários.

No WordPress, functions.php também é onde você carrega os recursos necessários em todo o site. Isso significa, com mais destaque, as folhas de estilo CSS personalizadas e os arquivos JavaScript, que você carrega enqueue inserindo-os.

// Scripts e styles
add_action( 'wp_enqueue_scripts', 'wpfoco_scripts' );
function wpfoco_scripts( ) {
// JS que fornece à caixa de pesquisa um valor padrão
wp_enqueue_script( 
'search-box-value',
get_stylesheet_directory_uri() . '/js/search-box-value.js',
array( 'jquery' )
);

// JS que define uma altura mínima de página dinâmica
wp_enqueue_script( 
'page-min-height',
get_stylesheet_directory_uri() . '/js/page-min-height.js',
array( 'jquery' )
);

// Carregando main stylesheet
wp_enqueue_style( 
'wpfoco-style',
get_stylesheet_uri()
);
}

Mais uma vez, este bloco parece complicado se você não compreender trechos de códigos do WordPress e as funções wp_enqueue_(), mas resume-se ao seguinte declaração: Em cada página, queremos carregar os arquivos search-box-value.js, page-min-height.jse próprios do tema style.css, além de instruções sobre como para encontrar esses arquivos. Você vai aprender muito sobre wp_enqueue_() em scripts personalizados e estilos No WordPress . Também temos Guias Rápidos gratuitos que abordam mais detalhes sobre este tópico:

Como usar wp_enqueue_script para incluir JavaScript no seu site WordPress

Usando o wp_enqueue_style para carregar folhas de estilo CSS.

Com esse código em vigor, quando você carrega uma página da Web no site, todos esses três arquivos são carregados junto com ela. E também sua funcionalidade altera a aparência e a ação da página da Web.

Agora você começa os fundamentos de functions.php no WordPress

Nós cobrimos os princípios básicos de como functions.php funciona no desenvolvimento de temas do WordPress. Se você acabou de ser atingido por muitas funções do PHP que não entendeu, não se preocupe: é exatamente para onde estamos indo.

O ponto-chave é que functions.php adiciona funcionalidade de apresentação de todos os tipos ao seu tema, e agora você entende como.

Deixe um Comentário