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

19

Eu vasculhei a rede procurando uma resposta para isso, mas, por alguma razão, tudo o que consigo encontrar são exemplos reais, mas sem essa explicação específica, o que é claro no caso dos scripts. Alguém pode me explicar por que é importante / vantajoso enfileirar estilos ao desenvolver um tema, em vez de apenas usar <link rel=stylesheet>no header.php.

Além disso, e a folha de estilo padrão do tema, também deve ser colocada na fila?

byronyasgur
fonte
é incentivado pelos requisitos de revisão do tema. codex.wordpress.org/... embora opcionalmente, você pode simplesmente link rel = o estilo principal no cabeçalho
helgatheviking
1
A folha de estilo padrão (por exemplo: style.css na raiz do diretório do seu tema) é carregada automaticamente, portanto, não precisa ser enfileirada. Se todo o seu CSS para o seu tema estiver contido nessa folha de estilo (ou se você usar regras de 'importação' nessa folha de estilo para carregar CSS), nenhum outro enfileiramento será necessário. No entanto, para maior flexibilidade nos temas filhos, pode ser vantajoso enfileirar condicionalmente CSS adicional que pode ser omitido por qualquer tema filho, como o @kaiser ilustra.
Tom Auger

Respostas:

17

É importante enfileirar a folha de estilo porque ela permitirá aos temas filhos a flexibilidade de desenfileirá-la, além de permitir que ela seja listada para dependências e várias outras coisas. Geralmente, permite uma maior flexibilidade, tanto para você quanto para outros desenvolvedores que interagem com seu código.

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

mor7ifer
fonte
17

Como complemento à outra resposta de @ m0r7if3r:

Você pode usar current_theme_supports()para carregar apenas a folha de estilo dos 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 );

Observe que essa função adiciona filemtimea versão-nr. para impedir o cache do navegador se o conteúdo dos arquivos tiver sido alterado.

Isso permitirá que seus usuários desabilitem a folha de estilo na inicialização de temas filhos com uma simples chamada fn:

remove_theme_support( 'parent-stylesheet' );
// ...or...
add_theme_support( 'parent-stylesheet' );
kaiser
fonte
3

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

Pode haver razões específicas pelas quais você precisa que certos estilos sejam excluídos de coisas como essa, mas geralmente é bom disponibilizar seus estilos para essa funcionalidade útil.

Steve Taylor
fonte