WordCamp Sevilla 2013: WordPress como framework, mucho más que un CMS
De PSD a WP - Mauricio Gelves - Consultor Freelance de … › ... ›...
Transcript of De PSD a WP - Mauricio Gelves - Consultor Freelance de … › ... ›...
#WCBilbao | @ciudadanob
De PSD a WP (o cómo crear en 2017 un theme desde un diseño)
#WCBilbao | @ciudadanob
¿Quién soy yo?
Juan Hernando @ciudadanoB Diseño & Desarrollo Web @Vertixe Actualidad WP @EnlacePermanent
Organizador @WPPontevedra
#WCBilbao | @ciudadanob
Dos charlas en unaLa de la presentación con sus buenas prácticas
La de lo que realmente vais a hacer vosotros después
#WCBilbao | @ciudadanob
Mis cuatro problemasCómo encontrar imágenes para estos textos Cómo pronunciar functions, plugin, archive… Cómo resumir todo en 1 hora y no volveros locos Cómo buscar un tema para diseñar
#WCBilbao | @ciudadanob
Un clásico que se resiste a desaparecer
#WCBilbao | @ciudadanob
Pero han cambiado muchas cosas
#WCBilbao | @ciudadanob
¿Cómo debe ser un diseño en 2017?
Web optimizada para el navegador Internet Explorer y una resolución de 800x600
#WCBilbao | @ciudadanob
¿Cómo debe ser un diseño en 2017?
Web optimizada para el navegador Internet Explorer y una resolución de 800x600
Web optimizada para 600 navegadores y para 800 resoluciones diferentes
#WCBilbao | @ciudadanob
Formatos, programas y consejos
Un diseño en 2017
#WCBilbao | @ciudadanob
Formatos, programas y consejos
Un diseño en 2017
#WCBilbao | @ciudadanob
Formatos, programas y consejos
Un diseño en 2017
Zeplin
#WCBilbao | @ciudadanob
¿Cómo debe ser el trato diseñador/desarrollador?
Un diseño en 2017
#WCBilbao | @ciudadanob
Consejos y herramientas
Un diseño en 2017
Intenta aprender lo básico del trabajo del otro
Determina qué herramienta de comunicación vas a usar
Define cómo vais a compartir los mockups
Define el proceso de realizar modificaciones
Asana/Trello/Basecamp + Invision + Drive/Dropbox
#WCBilbao | @ciudadanob
Consejos y herramientas
Un diseño en 2017
Inbox 9.384 *
#WCBilbao | @ciudadanob
¿Y si el diseñador soy yo?
Un diseño en 2017
Organización *, claro
* Al menos haz una foto a la hoja donde pintaste el diseño
#WCBilbao | @ciudadanob
¿Qué tengo que saber para hacer mi propio tema?
No vamos a empezar la casa por el tejado
#WCBilbao | @ciudadanob
HTML
Qué tengo que saber
#WCBilbao | @ciudadanob
CSS / SASS
Qué tengo que saber
#WCBilbao | @ciudadanob
PHP
Qué tengo que saber
#WCBilbao | @ciudadanob
Copy & Paste AvanzadoBuscar en Google, Stack Overflow, Codex WordPress
Qué tengo que saber
#WCBilbao | @ciudadanob
Copy & Paste Avanzado
Qué tengo que saber
¿Hola? ¿Hay alguien ahí?
#WCBilbao | @ciudadanob
El theme handbook
Qué tengo que saber
https://developer.wordpress.org/themes/
#WCBilbao | @ciudadanob
Tipografías
Qué tengo que saber
#WCBilbao | @ciudadanob
¿Qué es un tema de WP?
https://dariobf.com/slides/WCMadrid2017/
Es* lo que nos permite cambiar la apariencia de nuestra página web. También nos permite
cambiar alguna funcionalidad, pero lo principal es el aspecto visual.
*son archivos .php .css .js
#WCBilbao | @ciudadanob
La evolución del dev
Temas de WordPress
#WCBilbao | @ciudadanob
Buscando en Themeforest
Temas de WordPress
#WCBilbao | @ciudadanob
Creando un child themeTemas de WordPress
https://maugelves.com/wp-content/uploads/2017/04/carla-saiz-mi-primer-parto-en-wordpress.pdf
#WCBilbao | @ciudadanob
Esqueletos y frameworksTemas de WordPress
Underscoreshttp://underscores.me/
Underscores Componentshttp://components.underscores.me/
#WCBilbao | @ciudadanob
Un tema desde cero
Temas de WordPress
#WCBilbao | @ciudadanob
Vamos al lío
#WCBilbao | @ciudadanob
#WCBilbao | @ciudadanob
Lo que tiene que estar sí o sí
Básicos de un tema
https://dariobf.com/slides/WCMadrid2017/
style.cssindex.php
#WCBilbao | @ciudadanob
Y ponerlo bonito…
Básicos de un tema
screenshot.png
#WCBilbao | @ciudadanob
El loop / WP queriesBásicos de un tema
https://codex.wordpress.org/es:The_Loop_in_Action
<?phpget_header();if (have_posts()) : while (have_posts()) : the_post(); the_content(); endwhile;endif;get_sidebar();get_footer(); ?>
#WCBilbao | @ciudadanob
Otras plantillas importantesBásicos de un tema
style.css index.php
header.phpsidebar.phpfooter.php
#WCBilbao | @ciudadanob
Otras plantillas importantesBásicos de un tema
style.css index.php
header.php sidebar.php footer.php page.phphome.php
archive.phpsingle.php
…https://developer.wordpress.org/themes/basics/template-hierarchy
#WCBilbao | @ciudadanob
Al lío lío
#WCBilbao | @ciudadanob
¿Cómo trocear un diseño?
Creando el tema desde el diseño
Imágenes: formatos correctos / bien exportadas ¿Retina?
Lista de tipografías Estructura de márgenes y paddings
#WCBilbao | @ciudadanob
Creando el tema desde el diseño
#WCBilbao | @ciudadanob
Creando el tema desde el diseño
Footer.php
Header.php
Index.php
#WCBilbao | @ciudadanob
Mobile first y media queries
Creando el tema desde el diseño
@media (min-width: 30rem) { body { padding: 4rem; } }
#WCBilbao | @ciudadanob
¿Cómo organizarlo todo?
Creando el tema desde el diseño
* código para el header.php * código para el footer.php * portada para el index.php o page-portada.php * ¿vamos a usar custom fields?
#WCBilbao | @ciudadanob
Template parts
Creando el tema desde el diseño
para reusar partes de código para organizarlo todo mejor
#WCBilbao | @ciudadanob
Functions.php vs plugins
Creando el tema desde el diseño
<?php
/** * Plugin Name: Funciones que no van en el functions.php * Description: Un plugin fantástico que acabamos de crear. * Author: Ciudadanob * Version: 0.1 */
/* Y aquí va tu código */
?>
#WCBilbao | @ciudadanob
Enqueue scripts & styles
Creando el tema desde el diseño
wp_enqueue_style( 'wordcampguide2017-style', get_stylesheet_uri() );
wp_enqueue_script( ‘wordcampguide2017-navigation', get_template_directory_uri() . ‘/js/custom.js', array(‘jQuery’), '20170513', true );
#WCBilbao | @ciudadanob
Imágenes y thumbnails
Creando el tema desde el diseño
https://developer.wordpress.org/reference/functions/add_image_size/
add_image_size( ‘mi-niatura', 100, 100, array( 'left', 'top' ) );
#WCBilbao | @ciudadanob
Funcionalidades: el menú
Creando el tema desde el diseño
<?php wp_nav_menu( array( 'theme_location' => 'menu-1', 'menu_id' => 'primary-menu' ) ); ?>
#WCBilbao | @ciudadanob
Usar el customizador: el logo
Creando el tema desde el diseño
function theme_prefix_setup() { add_theme_support( 'custom-logo', array( 'height' => 48, 'width' => 134, 'flex-width' => true, ) ); } add_action( 'after_setup_theme', 'theme_prefix_setup' );
#WCBilbao | @ciudadanob
Añadir sidebars: los widgets
Creando el tema desde el diseño
function wordcampguide_widgets_init() { register_sidebar( array( 'name' => esc_html__( 'Sidebar', 'wordcampguide' ), 'id' => 'sidebar-1', 'description' => esc_html__( 'Add widgets here.', 'wordcampguide' ), 'before_widget' => '<section id="%1$s" class="widget %2$s">', 'after_widget' => '</section>', 'before_title' => '<h2 class="widget-title">', 'after_title' => '</h2>', ) ); } add_action( 'widgets_init', 'wordcampguide_widgets_init' );
#WCBilbao | @ciudadanob
Tags condicionales
Creando el tema desde el diseño
is_home() is_front_page()
is_admin() is_single() is_page()
is_category() in_category()
https://developer.wordpress.org/themes/basics/conditional-tags/
#WCBilbao | @ciudadanob
Custom Fields
Creando el tema desde el diseño
ACF <?php the_field();?>
http://maugelves.com/wp-content/uploads/2017/04/mauricio-gelves-boxeo-de-campos-personalizados.pdf
#WCBilbao | @ciudadanob
I18N & L10N
Creando el tema desde el diseño
https://developer.wordpress.org/themes/functionality/internationalization/https://developer.wordpress.org/themes/functionality/localization/
#WCBilbao | @ciudadanob
Accesibilidad
Creando el tema desde el diseño
https://developer.wordpress.org/themes/functionality/accessibility/https://www.youtube.com/watch?v=SlTDIQwa6EA
#WCBilbao | @ciudadanob
Seguridad
Creando el tema desde el diseño
https://codex.wordpress.org/Validating_Sanitizing_and_Escaping_User_DataValidating, sanitizing and escaping data
#WCBilbao | @ciudadanob
¿Y si tiene WooCommerce?
Creando el tema desde el diseño
https://docs.woocommerce.com/document/third-party-custom-theme-compatibility/https://docs.woocommerce.com/document/template-structure/
#WCBilbao | @ciudadanob
Preguntas¿Me lo puedes repetir todo desde “Buenos días…”?
#WCBilbao | @ciudadanob
Graciñas!