y ventajas de Genesis Framework ‣ Child Themes ‣ Uso de Genesis, paso a paso ‣ Instalación, configuración, Seo, Hooks, reprogramación del loop, cambios en CSS, layouts, Widget Areas, Custom Post Types, condicionales…. ‣ Plugins Recomendados ‣ Cambios mediante código
WordPress, se le da mucha importancia al theme ‣ Mucha importancia en cuanto a su aspecto y funcionalidades ‣ No tanto a su optimización, facilidad de uso, calidad de código…
nuestra web, nos va a facilitar mucho la vida, tanto en la creación como en el mantenimiento ‣ Evitamos problemas en el futuro ‣ Hay varias opciones sobre las que partir, y Genesis Framework es una de ellas
trabajo es un conjunto estandarizado de conceptos, prácticas y criterios para enfocar un tipo de problemática particular que sirve como referencia, para enfrentar y resolver nuevos problemas de índole similar. En el desarrollo de software, un entorno de trabajo es una estructura conceptual y tecnológica de asistencia definida, normalmente, con artefactos o módulos concretos de software, que puede servir de base para la organización y desarrollo de software. Típicamente, puede incluir soporte de programas, bibliotecas, y un lenguaje interpretado, entre otras herramientas, para así ayudar a desarrollar y unir los diferentes componentes de un proyecto.
de herramientas, librerías y buenas prácticas ‣ Se utilizan de forma sencilla y se pueden reutilizar ‣ Ayudan a resolver un problema determinado ‣ Nos permite hacer lo mismo, con menos código
añadir a un theme, características que no tiene ‣ Genesis se instala de la misma manera que cualquier otro theme ‣ Podemos decir que Genesis es un theme “super-vitaminado”
‣ Nuestros cambios irán siempre en nuestro CHILD THEME ‣ Cada vez que haya una actualización de Genesis, nos aseguramos que todo lo que hemos tocado no sufre variaciones ‣ Forma mucho más cómoda de trabajar con plantillas personalizadas
de otro theme —> PARENT THEME ‣ Hereda todas las propiedades del PARENT THEME ‣ Además, podemos añadir funcionalidades y estilos propios ‣ Es la forma más correcta de trabajar, si no queremos tener problemas
fichero style.css ‣ Colores, tipografías, márgenes, bordes, grid…etc ‣ Las funcionalidades se definen en PHP en functions.php (u otro) ‣ Menús, widget areas…
theme padre ‣ Perderíamos todos los estilos y funcionalidades propios que hemos creado, al actualizarlo ‣ Actualización de theme, borra todas las modificaciones y lo sobre escribe con la nueva versión del theme ‣ Ante dos archivos de mismo nombre, el del CHILD THEME tiene preferencia
sin estilos ‣ Tenemos dos opciones: ‣ Crear estilos desde cero ‣ Partir de los estilos del Parent ‣ @import ‣ Copiar + Pegar (perderemos futuras actualizaciones theme) ‣ Cargar en functions.php
cualquier theme ‣ Descargamos Genesis y lo colocamos en nuestro: wp-content/themes ‣ Trabajamos con Child Themes ‣ El tema padre (framework) ¡¡no se toca!!
nuestro panel de administrador ‣ Theme Settings: opciones de configuración básicas sobre layout, comentarios, navegación, blog…etc ‣ SEO Settings: Opciones de SEO básicas ‣ Import / Export: todas las opciones que configuremos se pueden importar desde otra página con Genesis o exportar para utilizar en otro momento.
aquí: podemos hacerlo mediante plugins o código ‣ En header | footer scripts: Podemos usarlo para código Analytics u otro código que queramos que se repita a lo largo de toda la web
como YOAST, desaparecen las opciones de SEO de Genesis ‣ Todas las opciones que vayamos seleccionando, van añadiendo cosas en el código de nuestra web ‣ Todas las opciones que seleccionemos se pueden importar y exportar
‣ Como no podemos saberlos todos, hay un plugin que nos ayuda mucho a verlo de una forma visual, sobre nuestra propia web ‣ Genesis Visual Hook Guide: https://es.wordpress.org/plugins/ genesis-visual-hook-guide/
mediante hooks, tenemos que indicarlo mediante código php dentro de nuestro fichero functions.php ‣ Para empezar, podemos utilizar el plugin “GENESIS SIMPLE HOOKS”, el cual nos ayuda a familiarizarnos con el uso de los hooks ‣ Nos añade una nueva opción dentro del menú de Genesis
Permiten realizar una serie de funciones ‣ Estas funciones se ejecutan a nivel de framework ‣ Van a funcionar independientemente de Child Theme de Genesis que utilicemos
existir: ‣ Bien sea una función definida en Genesis Framework, o una creada por nosotros ‣ Estructura: ‣ tipo_de_accion(‘hook’, ‘funcion a ejecutar en el hook’);
todas las páginas, posts, usuarios…o solo a algunos concretos ‣ Listado de todas las condicionales de WordPress: https:// codex.wordpress.org/Conditional_Tags
la apariencia del loop de la forma que queramos: ‣ Número de posts destacados, columnas, tamaño de imágenes…etc ‣ Al instalarlo y activarlo, tenemos disponible una nueva opción de menú: Grid Loop
de posts dentro de nuestra web ‣ Gracias a los hooks, y algunos snippets de código, vamos a poder añadir, eliminar o modificar, cualquier cosa de cada post
solo en la Home add_action( 'genesis_before_entry', 'quitar_informacion_antes' ); function quitar_informacion_antes() { if ( is_home() ) { remove_action( 'genesis_entry_header', 'genesis_post_info', 12 ); } }
vía plugin: más cómodo, pero es imposible tener recogidas todas las opciones ‣ Con el Plugin “Visual Hook Guide” / Markup: vemos todas las etiqueta de CSS
Podemos hacer cambios CSS directamente mediante código ‣ Utilizar asistente CSS BUILDER, nos genera todo el código ‣ Una vez estemos cómodos con CSS, mejor hacer todo por código directamente en style.css
FUNCTIONS ‣ Problema de añadir cambios directamente en functions.php ‣ Si cambiamos de tema, no tenemos esas funciones. ‣ Estar pendiente de añadir funciones en functions.php del otro tema
‣ Aplicar cambios solo en determinados casos ‣ Podemos crear funciones propias ‣ Cuidado con los nombres de funciones ‣ Si hay dos con mismo nombre: problemas
no se muestre en la página: ‣ Lo habremos cargado en el momento erróneo ‣ Podemos solucionarlo metiendo el if en una función y asociar esa función a un action (por ejemplo en genesis-meta que sabemos que carga justo al principio)
diferentes layouts para la misma página: el que “manda” es el último ‣ Esto también se puede seleccionar en opciones de Genesis ‣ Código “manda” sobre opciones
una página por el simple hecho de crearla ‣ Ha de ser un usuario con privilegios quien se la asigne ‣ Dentro de la sección “Atributos de página”, seleccionar la plantilla dentro de la sección “Plantilla”
site en función del tipo de información que vaya a mostrar ‣ Por tanto, puede afectar a: ‣ Posts, páginas, categorías, etiquetas, homepage, página de entradas, página de comentarios…etc.
raíz del tema, aunque también pueden estar en el directorio “templates” ‣ Prevalecen los cambios en el fichero más específico ‣ Todos los archivos son opcionales, menos index.php ‣ Hay un montón de archivos de plantilla, aquí vemos su jerarquía
creamos un label, después podemos anadírselo a la class de body de una página ‣ Al añadir una nueva página, tenemos abajo nuevo menú “Genesis Extender Labels” ‣ Lo mejor de trabajar con los labels es que podemos tener varias seleccionados a la vez, mientras que la plantilla nos limita
nos vayamos sintiendo cómodos, mejor utilizar código ‣ Código nos permite jugar con condicionales ‣ Un plugin nunca va a tener toda las opciones posibles que podamos necesitar, es imposible cubrir todos los casos