¿Qué tan importante es poner en cola la hoja de estilo de un tema?

19

He rastreado la red buscando una respuesta a esto, pero por alguna razón, todo lo que puedo encontrar son ejemplos reales, pero sin esa explicación particular, lo que está claro en el caso de los scripts. ¿Puede alguien explicarme por qué es importante / ventajoso poner en cola los estilos al desarrollar un tema, en lugar de solo usarlo <link rel=stylesheet>en header.php.

Además, ¿qué pasa con la hoja de estilo predeterminada del tema, también debería ponerse en cola?

byronyasgur
fuente
es alentado por los requisitos de revisión del tema. codex.wordpress.org/… aunque opcionalmente PUEDE simplemente vincular rel = la hoja de estilo principal en el encabezado
helgatheviking
1
La hoja de estilo predeterminada (es decir: style.css en la raíz del directorio de su tema) se carga automáticamente, por lo que no es necesario ponerla en cola. Si todo su CSS para su tema está contenido en esa hoja de estilo (o si usa las reglas de 'importación' en esa hoja de estilo para cargar CSS), entonces no se requiere más puesta en cola. Sin embargo, para una mayor flexibilidad dentro de los temas secundarios, puede ser ventajoso poner en cola CSS adicional que cualquier tema secundario puede omitir, como lo ilustra @kaiser.
Tom Auger

Respuestas:

17

Es importante poner en cola la hoja de estilo, ya que permitirá a los temas secundarios la flexibilidad de retirarlos, además de permitir que se enumeren por dependencias y una multitud de otras cosas. En general, permite una mayor flexibilidad, tanto para usted como para cualquier otro desarrollador que interactúe con su código.

También es importante tener en cuenta que el uso de la hoja de estilo predeterminada en su tema no es un requisito. La hoja de estilo debe estar PRESENTE, pero si la usa para nada más que nombrar su tema, configurar la versión, etc., Wordpress está COMPLETAMENTE bien con eso, al igual que las personas que aprueban los temas para el repositorio principal.

mor7ifer
fuente
17

Como una adición a la otra respuesta de @ m0r7if3r:

Puede usar current_theme_supports()para cargar solo la hoja de estilo de temas principales si hay compatibilidad con temas.

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 );

Tenga en cuenta que esta función agrega filemtimela versión nr. para evitar el almacenamiento en caché del navegador si se cambiaron los contenidos de los archivos.

Esto permitirá a sus usuarios deshabilitar la hoja de estilo en el arranque de temas secundarios con una simple llamada fn:

remove_theme_support( 'parent-stylesheet' );
// ...or...
add_theme_support( 'parent-stylesheet' );
emperador
fuente
3

Otra razón para poner en cola es que permite que los complementos hagan cosas con los estilos. Por ejemplo, Better WordPress Minify automáticamente y concatenará archivos CSS, y WP-LESS compilará sus archivos LESS y los almacenará en caché sobre la marcha. Ambos hacen esto conectándose a la cola de estilos y procesando los archivos alineados allí.

Puede haber razones específicas por las que necesita que se excluyan ciertos estilos de cosas como esta, pero en general es bueno hacer que sus estilos estén disponibles para una funcionalidad tan útil.

Steve Taylor
fuente