¿Personalizar un tema de WordPress sin cambiarlo?
4 respuestas
- votos
-
- 2010-08-13
Sibien nopuedemodificarlo sin cambiarlo,puede aislar laspartes que cambie creando untema secundario. En resumen:
- Cree un directorio detemasen pares con sutema "principal",
- Cree un archivo
style.css
en sunuevo directorio quetenga una declaraciónTemplate:
en los comentarios quenombran sutemaprincipal y un@import url(../%parent-theme%/style.css)
paraimportarel CSS deltemaprincipal, - Active sunuevotemaen la consola de administración de WordPress,
- Agreguenuevos archivos y/o copie archivos de su directorio detemaprincipal al directorio detema secundario ymodifíquelos según suspreferencias,y
- ¡Esoes!
Podría dartemuchosmás detalles,perobásicamenteestetipo hace unbuentrabajo alexplicar Cómo crear untema secundario así queesmejorparamí solo señalarlo.
Cuando desee actualizareltemaprincipal,simplemente actualice; dejaráintactoeltema de su hijo. Por supuesto,esposible que sutema hijonofuncioneperfectamente si ha cambiado demasiado alpadre y/o si copió ymodificó los archivos deltema que actualizaronen lanueva versión,no obtendrá lanuevafuncionalidad sinmodificarlostambién,peroes un ¡Esmuchomejorempezar denuevo cada vez!
Espero quete ayude.
While you can't modify it without changing it, you can isolate the parts you change by creating a Child Theme. In summary:
- Create a theme directory on peer with your "parent" theme,
- Create a
style.css
file in your new directory that has aTemplate:
declaration in the comments naming your parent theme and an@import url(../%parent-theme%/style.css)
to import the CSS from the parent theme, - Activate your new theme in the WordPress admin console,
- Add new files and/or copy files from your parent theme directory to your child theme directory and modify them to your preference, and
- That's it!
I could give you lots more details but basically this guy does a really good job of explaining How to Create a Child Theme so better for me just to point you to it.
When you want to upgrade the parent theme just upgrade; it will leave your child theme in-tact. Of course your child theme may not work perfectly if they've changed the parent too much and/or if you copied and modified theme files they updated in the new version you won't get the new functionality without modifying them too, but it's a lot better from starting over each time!
Hope that helps.
-
Lostemasinfantiles sonel camino a seguiren mi humilde opiniónChild themes are the way to go IMHO
- 2
- 2010-09-01
- Ryan Gibbons
-
- 2010-08-21
Sitodo lo que desea cambiares unpoco de CSS,puede crear un archivo CSSpersonalizado dentro del directorio deltema. Incluya su archivo csspersonalizadoen elencabezado deltema yescribanuevas declaraciones soloen el archivo csspersonalizado,sobrescribiendo así las declaraciones csspredeterminadas deltema.
Hoja deestilopredeterminada
body{background:white;width: 960px;margin: 25px auto;}
Hoja deestilopersonalizada
body{width:800px;}
Sunavegador realizará llamadas httpindependientespara las dos hojas deestilo y aplicará losestilosen el ordenen que seenumeran. Cualquier declaración que se hagaen último lugar sobrescribirá las declaraciones hechas antes. Así que asegúrese deincluir su hoja deestilopersonalizada después de que seincluyan otras hojas deestiloen header.php.
Si va aterminar cambiando archivos deplantilla como archive.php opage.php,la respuesta de MikeSchinkel lepermitirá actualizar sutema si se lanza unanueva versión,sinperder susmodificaciones. Pero sitodo lo que quiereses cambiar algunos CSS,estemétodofuncionarábien. Solo asegúrese deguardar su hoja deestilopersonalizada antes de actualizarel directorio detemas.
If all you want to change is a little css, you can create a custom css file inside the theme directory. Include your custom css file in the theme's header, and write new declarations in the custom css file only, thereby overwriting the theme's default css declarations.
Default stylesheet
body{background:white;width: 960px;margin: 25px auto;}
Custom stylesheet
body{width:800px;}
Your browser will make separate http calls for the two stylesheets and apply styles in the order they are listed. Whatever declarations are made last will overwrite declarations made before them. So make sure to include your custom stylesheet after any other stylesheets are included in header.php.
If you are going to end up changing template files like archive.php, or page.php, MikeSchinkel's answer will let you update your theme if a new version is released, without loosing your modifications. But if all you want is to change some css, This method will work well. Just make sure that you save your custom stylesheet before updating the theme directory.
-
Estopodría serproblemático sieltema quemodificanoes sutema,por lo que sus cambiospueden sobrescribirseen las actualizaciones deltema.This might be problematic if the theme you modify is not your theme, so your changes might get overwritten on theme updates.
- 1
- 2010-09-06
- hakre
-
- 2017-02-17
Definitivamentepuede crear untema hijo.Untema hijomantiene sutemaprincipalen suformato original.
Lo que yo hagopersonalmentees queestoy usando un temapremium de WordPress de MyThemeShop .Eneso,mantengomi archivo style.css y de opciones detema comoestá.Simplemente copio los datos del archivo a otro archivo y lonombro unpoco diferente.Porejemplo,siestoy usando SociallyViral Theme,para crear sutema hijo,copiaré los datos de su archivo style.css y losguardaréen otro archivo conelnombre childstyle.css.
Después deesto,ahora diseñaréfuncionesespecíficas ypuedo rediseñarmi tema agregandomásfuncionalidadesen el archivo childstyle.css.
Estomantienemi archivo style.css original comoestá yme permite actualizarloen elformato original.
You can definitely create a child theme. A child theme keeps your main theme in its original format.
What I personally do is, I am using a premium WordPress theme from MyThemeShop. In that, I keep my style.css and theme options file as it is. I just copy the file's data to another file and name it a little different. For example, if I am using SociallyViral Theme, for creating its child theme, I will copy the data from its style.css file and save it to another file naming it childstyle.css.
After this, I will now design specific functions and can redesign my theme by adding more functionalities in the childstyle.css file.
This keeps my original style.css file as it is and enables me to update it in the original format.
-
Noestoy seguro de lo que quiere decir con "Copiaré los datos de su archivo style.css",peropor logenerales suficiente agregar solo aquellosestilos altema secundario que son * diferentes * delprincipal; losestilos deltema secundario agreganay/o anular losestilos delpadre.Por cierto: ¿cómo su respuesta agrega algo a la respuesta que yafue ** aceptada hacemás de 6 años **?I'm not sure what you mean with "I will copy the data from its style.css file" but usually it is enough to only add those styles to the child theme that are *different* from the parent – the child theme's styles add to and/or override the parent's styles. By the way: how does your answer add anything to the answer that was already **accepted 6+years ago**?!
- 0
- 2017-02-17
- tillinberlin
-
- 2010-09-01
Siestáinteresadoen unbuen "ejercicio de laboratorio"paraprobar lospasos descritos anteriormente.Hay unabuena guíapaso apasopara crear untema hijo apartir del WordPresspredeterminado.3.xentregóeltema veinte diez .Es untema hijo simplepero útil (llamadotreinta y diez).El resultadoextiendeeltema veinticinco de untema de dos columnas a untema detres columnas.Tambiéntiene algunasimágenes deencabezadonuevas.
If your interested in a good 'Lab Exercise' for trying out the steps described above. There is nice step by step guide for creating a child theme off the default WordPress 3.x delivered theme twentyten. It is a simple but useful child theme (named thirtyten). The result extends twentyten theme from a two column theme to a three column theme. It also has some new header pictures.
Heencontrado y descargado untema.Sinembargo,quieromodificarel CSSpara cambiar unpocoel diseño,los colores,etc.¿Cómo debo haceresto,sin dejar depoder actualizareltema sinperder los cambios?