Quão importante é enfileirar a folha de estilo de um tema?

18
Eu pesquisei a rede procurando uma resposta para isso, mas por algum motivo tudo o que posso encontrar são exemplos reais, mas sem essa explicação particular, o que é claro, digamos, no caso de scripts. Alguém pode me explicar por que é importante / vantajoso enfileirar estilos ao desenvolver um tema, em vez de usar apenas <link rel=stylesheet> em header.php.

Além disso, o que acontece com a folha de estilos padrão do tema? Isso também deve ser enfileirado?

    
por byronyasgur 07.03.2012 / 22:47

3 respostas

17

É importante enfileirar a folha de estilo, pois ela permitirá que os temas filhos tenham a flexibilidade de desenfileirá-la, além de permitir que ela seja listada para dependências e uma infinidade de outras coisas. Ele geralmente permite maior flexibilidade, tanto para você quanto para qualquer outro desenvolvedor que interaja com seu código.

Também é importante observar que usar a folha de estilo padrão no seu tema não é um requisito. A folha de estilo deve ser PRESENTE, mas se você usá-la apenas para nomear seu tema, definir a versão, etc, o wordpress estará COMPLETAMENTE bem com isso, assim como as pessoas que aprovam temas para o repositório principal.

    
por mor7ifer 07.03.2012 / 23:12
16

Como complemento à outra resposta de @ m0r7if3r:

Você pode usar current_theme_supports() para carregar apenas a folha de estilo de temas pai, se houver suporte ao tema.

function add_supported_stylesheets()
{
    if ( current_theme_supports( 'parent-stylesheet' ) )
        wp_enqueue_style( 'main', get_stylesheet_directory_uri().'/style.css', array(), filemtime( get_stylesheet_directory().'/style.css' );
}

// In your parent themes bootstrap in the functions.php file
// Add the theme support:
add_theme_support( 'parent-stylesheet' );
// Then add the stylesheet:
add_action( 'after_setup_theme', 'add_supported_stylesheets', 20 );

Note que esta função adiciona filemtime na versão-nr. para impedir o armazenamento em cache do navegador, caso o conteúdo dos arquivos tenha sido alterado.

Isso permitirá que seus usuários desativem a folha de estilo no bootstrap de temas filho com uma simples chamada fn simples:

remove_theme_support( 'parent-stylesheet' );
// ...or...
add_theme_support( 'parent-stylesheet' );
    
por kaiser 08.03.2012 / 01:14
3

Outro motivo para enfileiramento é permitir que os plug-ins façam coisas com os estilos. Por exemplo, o Better WordPress Minify irá automaticamente e concatenar arquivos CSS, e o WP-LESS irá compilar seus arquivos LESS e armazená-los em cache. Ambos fazem isso conectando-se à fila de estilos e processando os arquivos alinhados lá.

Pode haver motivos específicos para que você precise excluir determinados estilos de itens como este, mas geralmente é bom disponibilizar seus estilos para essa funcionalidade útil.

    
por Steve Taylor 21.07.2012 / 15:57