¿Cómo agregar un archivo CSS personalizado en el tema?


15

Algunos temas le piden que no edite el archivo style.css, sino que use el archivo custom.css. Si escribe código en custom.css, sobrescribirá el mismo estilo de elemento en style.css. Creo que esto se hace para evitar la pérdida de estilos de usuario en la actualización del tema, ¿es así?

¿Cómo funciona esto? ¿Ya incluyen el archivo custom.css en su tema? Pero, ¿cómo se incluye este archivo en el tema para que el tema busque primero el estilo en custom.css? Gracias.


Si la persona que hace esta pregunta es alemana, entonces casi con certeza "sobrescribir" significa "anular". Supongo que la pregunta no dice que poner código en el archivo custom.css hará que se modifique el archivo style.css. No estoy diciendo que esto sea crítico, estoy diciendo que estoy confundido y este es mi entendimiento.
user34660

Respuestas:


1

Por lo general, agrego este fragmento de código si quiero agregar otro archivo CSS

<link rel="stylesheet" href="<?php bloginfo('template_url'); ?>/css/my_custom_css.css" type="text/css" media="screen" />

Creo que los creadores de temas quieren retener tanto como sea posible del diseño del diseño del tema. Por lo tanto, un archivo css personalizado no duele mucho. Creo que es más una pregunta de soporte. Con un archivo css personalizado, los creadores pueden ayudar a aquellos que usan sus temas más fácilmente. Debido a que el style.css original no ha sido modificado, el creador de temas probablemente pueda echar un vistazo en el archivo css personalizado.


2
ya no es la mejor práctica - developer.wordpress.org
iantsch

@iantsch ¿por qué no? ¿Que es mejor? No pude encontrar nada mejor.
Kangarooo

2
@Kangarooo vea la respuesta proporcionada por Fil Joseph: ponga en cola los guiones / estilos que desea incluir en el encabezado o pie de página
iantsch

Con HTTP / 1, se recomienda empaquetar todos los estilos básicos en un archivo minimizado, en lugar de agregar otro archivo CSS que el navegador necesita descargar y procesar.
Andy

En mi caso, esta fue la mejor solución.
Rico

27

Usar @import en WordPress para agregar CSS personalizado ya no es la mejor práctica, pero puedes hacerlo con ese método.

La mejor práctica es usar la función wp_enqueue_style()en functions.php.

Ejemplo :

wp_enqueue_style ('theme-style', get_template_directory_uri().'/css/style.css');
wp_enqueue_style ('my-style', get_template_directory_uri().'/css/mystyle.css', array('theme-style'));

1
Agregue la dependencia de padre style.css para asegurarse de que está mystyle.csscargado después de style.css!
Sumit


Entiendo la parte del camino, pero ¿qué pasa con la primera parte, la parte 'estilo temático' y 'mi estilo', puedo poner algo allí? ¿Y qué hay en las funciones.php, cuál es el código total para que esto funcione?
Bruno Vincent

@BrunoVincent puedes nombrar handlelo que quieras, siempre que sea único. Ver documento
Fahmi

4

Active el tema secundario y agregue el siguiente código de ejemplo en function.php

add_action( 'wp_enqueue_scripts', 'child_enqueue_styles');

function child_enqueue_styles() {

wp_enqueue_style( 'reset-style', get_template_directory_uri() . '/css/reset.css', array());
}

2

Mi propuesta sería utilizar temas secundarios. Es muy fácil de implementar y todas las modificaciones que realice (incluidos los estilos) están completamente aisladas del tema original.


0

Para evitar sobrescribir el tema principal CSS u otros archivos, SIEMPRE debe usar un tema secundario en WordPress ... no hacerlo solo le causará grandes dolores de cabeza y problemas en el futuro.

https://codex.wordpress.org/Child_Themes

... y con lo fácil que es configurar un tema secundario, no hay razón para que no debas usar uno.

El uso de un tema secundario le permitirá anular cualquiera de los archivos principales del tema principal que desee, simplemente copiándolo de su elemento principal o creando un nuevo archivo con el mismo nombre.

Con respecto al custom.cssarchivo, hay muchas maneras en que los desarrolladores de temas manejan esto ... muchos de ellos hacen esto simplemente para tratar de evitar que los clientes que no quieren usar un tema secundario, editen el style.cssarchivo principal ...

De cualquier manera, no debería preocuparse por eso, siempre y cuando use un tema secundario, no debería tener que preocuparse por actualizar su tema más adelante y perder sus cambios ... habitúese a usar siempre temas secundarios, usted me lo agradecerá más tarde, lo prometo.


0

Si quieres dejar tu html junto. puedes agregar esto a tu archivo css. Creo que esto es mejor.

@import url("../mycustomstyle.css");

También, dependiendo de su tema, funcionará con temas secundarios y primarios.

- tenga en cuenta que css funciona de forma secuencial (cuando se usa el mismo nivel de identificador, ya usado), por lo que lo último en su archivo se sobrescribirá. coloque su importación de estilo personalizado en la parte inferior si desea anular cosas.


css no funciona secuencialmente, funciona según la especificidad de la regla; sólo cae de nuevo al último sobrescribe anterior cuando se tiene normas de igual especificidad
srcspider

tienes razón, y eso es lo que quiero decir. mi secuencial se refiere a la sobrescritura. no CSS en su conjunto.
woony

0

La mejor manera es combinar todos los estilos en cola en una sola función y luego llamarlos mediante la wp_enqueue_scriptsacción . Agregue la función definida a las funciones de su tema.php en algún lugar debajo de la configuración inicial.

Bloque de código:

function add_theme_scripts() {
    wp_enqueue_style( 'style', get_template_directory_uri() . '/css/style.css' );
    wp_enqueue_style ( 'custom', get_template_directory_uri () . '/css/custom.css', array( 'style' ) );
}
add_action ( 'wp_enqueue_scripts', 'add_theme_scripts' );

Tenga en cuenta :

El tercer parámetro es la matriz de dependencia que se refiere a si esta hoja de estilo depende o no de otra hoja de estilo. Entonces, en nuestro código anterior, custom.css depende de style.css

El |
Básico adicional: la
wp_enqueue_style() función puede tener 5 parámetros: de esta manera: wp_enqueue_style ( $ handle, $ src, $ deps, $ ver, $ media );
En el mundo real de la codificación WP, generalmente también agregamos archivos javascript / bibliotecas jQuery dentro de esa función de esta manera:

wp_enqueue_script( 'script', get_template_directory_uri() . '/js/script.js', array ( 'jquery' ), 1.1, true);

El quinto parámetro verdadero / falso es opcional (los parámetros segundo, tercero y cuarto también son opcionales), pero muy esencial, nos permite colocar nuestros scripts en el pie de página cuando usamos el parámetro booleano como verdadero.


0

Vaya a Apariencia> Editar CSS desde su Panel de WordPress. ingrese la descripción de la imagen aquí

Aquí está la pantalla con el editor básico de CSS. ingrese la descripción de la imagen aquí

Ahora pegue su CSS directamente al texto predeterminado. Puede eliminar el texto predeterminado para que su CSS solo aparezca en el editor. Luego guarde la hoja de estilo y su CSS estará en vivo.


-2

Use un tema infantil. Es tu mejor apuesta. De esta manera, si el tema se actualiza alguna vez, no anulará las hojas de estilo que ha creado.

https://codex.wordpress.org/Child_Themes

Siga esta ruta, se lo agradecerá más tarde.


Eso realmente no responde la pregunta. Es posible que desee explicar cómo agregar la hoja de estilo en el tema secundario.
kaiser
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.