2. #WCBilbao | @ciudadanob
¿Quién soy yo?
Juan Hernando @ciudadanoB
Diseño & Desarrollo Web @Vertixe
Actualidad WP @EnlacePermanent
Organizador @WPPontevedra
3. #WCBilbao | @ciudadanob
Dos charlas en una
La de la presentación con sus buenas prácticas
La de lo que realmente vais a hacer vosotros después
4. #WCBilbao | @ciudadanob
Mis cuatro problemas
Có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
7. #WCBilbao | @ciudadanob
¿Cómo debe ser un
diseño en 2017?
Web optimizada para el navegador Internet Explorer
y una resolución de 800x600
8. #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
13. #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
15. #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
16. #WCBilbao | @ciudadanob
¿Qué tengo que saber
para hacer mi propio tema?
No vamos a empezar la casa por el tejado
26. #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
29. #WCBilbao | @ciudadanob
Creando un child theme
Temas de WordPress
https://maugelves.com/wp-content/uploads/2017/04/carla-saiz-mi-primer-parto-en-wordpress.pdf
30. #WCBilbao | @ciudadanob
Esqueletos y frameworks
Temas de WordPress
Underscores
http://underscores.me/
Underscores Components
http://components.underscores.me/
36. #WCBilbao | @ciudadanob
El loop / WP queries
Básicos de un tema
https://codex.wordpress.org/es:The_Loop_in_Action
<?php
get_header();
if (have_posts()) :
while (have_posts()) :
the_post();
the_content();
endwhile;
endif;
get_sidebar();
get_footer();
?>
37. #WCBilbao | @ciudadanob
Otras plantillas importantes
Básicos de un tema
style.css
index.php
header.php
sidebar.php
footer.php
38. #WCBilbao | @ciudadanob
Otras plantillas importantes
Básicos de un tema
style.css
index.php
header.php
sidebar.php
footer.php
page.php
home.php
archive.php
single.php
…
https://developer.wordpress.org/themes/basics/template-hierarchy
40. #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
43. #WCBilbao | @ciudadanob
Mobile first y media queries
Creando el tema desde el diseño
@media (min-width: 30rem) {
body {
padding: 4rem;
}
}
44. #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?
46. #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 */
?>
47. #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 );
48. #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' ) );
49. #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' ) ); ?>
50. #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' );
51. #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' );
52. #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/
53. #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
54. #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/
55. #WCBilbao | @ciudadanob
Accesibilidad
Creando el tema desde el diseño
https://developer.wordpress.org/themes/functionality/accessibility/
https://www.youtube.com/watch?v=SlTDIQwa6EA
56. #WCBilbao | @ciudadanob
Seguridad
Creando el tema desde el diseño
https://codex.wordpress.org/Validating_Sanitizing_and_Escaping_User_Data
Validating, sanitizing and escaping data
57. #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/