Você sabe o que são Child Themes? Se você é um desenvolvedor que está começando agora, essa pode ser uma boa forma de começar a entender como os temas WordPress funcionam.
Mas se você for experiente e está precisando de mais agilidade em pequenos projetos, saber usá-los pode salvar sua vida e economizar seu tempo!
2. Breno Alves
Plugin developer na Proxio Inc.
Co-organizador da WP Rio.
Contribui para alguns projetos e
comunidades open-source.
Atualmente trabalha somente
com projetos em WordPress.
3. O que é um child theme?
Um tema que herda funcionalidades e estilos de um
outro tema (parent theme).
É a forma mais recomendada para fazer modificações
em qualquer tema WordPress.
4. O que dá pra fazer com ele?
Em geral, você pode adicionar, remover ou
modificar qualquer funcionalidade de um
parent theme.
6. Pequenas agências e freelancers
Muitas vezes o processo de desenvolvimento é
complexo. Por que não buscar uma alternativa viável
e de baixo custo para seus projetos?
7. ■ Redução de custos
■ Menor tempo de desenvolvimento
■ Flexibilidade
■ Fidelização de pequenos clientes
9. /*
Theme Name: Child Theme
Author: Breno Alves
Description: Um novo child theme de exemplo.
Version: 1.0.0
Template: parent-theme
*/
style.css
10. <?php
// Adiciona durante o enfileiramento dos scripts
add_action( 'wp_enqueue_scripts', 'import_scripts' );
// Reimporta scripts do tema pai
function import_scripts() {
wp_enqueue_style( 'parent-style' );
}
?>
Readicione CSS necessários
11. Ao trabalhar com child themes, você deverá sempre
utilizar funções com referência ao stylesheet do tema,
pois as funções de template ficam associadas ao parent
theme.
E apenas um cuidado!
get_template_directory != get_stylesheet_directory
13. <?php
// Adiciona a action após carregar o tema
add_action( 'after_setup_theme', 'remove_menus' );
// Desregistra os menus
function remove_menus() {
unregister_nav_menu( 'nome-do-menu' );
}
?>
Menus
14. <?php
// Adiciona a action após a inicialização dos widgets
add_action( 'widgets_init', 'remove_widgets' );
// Remove o widget de calendário padrão do WordPress
function remove_widgets() {
unregister_widget( 'WP_Widget_Calendar' );
}
?>
Widgets
15. <?php
// Adiciona a action após o enfileiramento dos scripts
add_action( 'wp_enqueue_scripts', 'remove_scripts' );
// Remove um script
function remove_scripts() {
wp_dequeue_style( 'custom-style' );
}
?>
Scripts
22. Nem tudo são flores, mas...
Usar um child theme pode trazer algumas
desvantagens, mas tudo dependerá do contexto do
projeto em que você estiver.
Para projetos que não exigem tanto de desempenho
a diferença é muito pequena (quase nenhuma) pois
o WordPress cuida de todo o carregamento de
forma inteligente.
23. Em geral, o bom desempenho de um child theme está
ligado à qualidade de desenvolvimento do seu parent
theme.
Verificar se o parent theme oferece o suporte
adequado e segue às melhores práticas é essencial
para que o seu child theme não tenha problemas.
25. Vocês e essas sobrinhagens...
Claro que dá!
Mas para isso você não vai usar um tema e sim um
plugin, onde você poderá adicionar novos scripts,
folhas de estilos e redirecionar templates.