introducción a los hooks

23
Introducción a los HOOKS @JuanJavier1979 #WPODB

Upload: juan-javier-moreno-restituto

Post on 08-Feb-2017

456 views

Category:

Internet


0 download

TRANSCRIPT

Page 1: Introducción a los hooks

Introducción a losHOOKS

@JuanJavier1979

#WPODB

Page 2: Introducción a los hooks

Hola!soy Juan Javier

Desarrollador WordPress en @pragmaticweb

Front end creando Temas personalizadosWooCommerce

BuddyPress

@JuanJavier1979

#WPODB

Page 3: Introducción a los hooks

¿Qué son los Hooks?

@JuanJavier1979

#WPODB

Lugares específicos donde podremos insertar nuestro propio código, modificar o cambiar el ya existente, cambiar

el orden de lo que se muestra o cómo se muestra.

Page 4: Introducción a los hooks

¿Sirven para algo?

@JuanJavier1979

#WPODB

Modificar y personalizarSIN MODIFICAR EL CÓDIGO DE WP

NI PLUGINS (si están bien hechos)

Page 5: Introducción a los hooks

Tipos

ActionsFilters

@JuanJavier1979

#WPODB

Page 6: Introducción a los hooks

Actions

@JuanJavier1979

#WPODB

Nos permiten insertar nuestras funciones (código)en algunos puntos concretos.

do_action() el Hook

add_action()engancha una función en el Hook

Page 7: Introducción a los hooks

Filters

@JuanJavier1979

#WPODB

Nos permiten hacer cambios en el contenido.

apply_filters() el Hook

add_filter()engancha una función en el Hook

Page 8: Introducción a los hooks

Anatomía del Hook

@JuanJavier1979

#WPODB

add_action( $hook, $función, $prioridad, $args ); add_filter( $hook, $función, $prioridad, $args );

$hook el Hook donde engancharemos nuestra función$función la función que usaremos en el Hook

$prioridad de ejecución$args argumentos adicionales para la función

Page 9: Introducción a los hooks

¿dónde ‘va’ el código?

@JuanJavier1979

#WPODB

En el functions.php de tu Tema

En un plugin propio

Page 10: Introducción a los hooks

Ejemplos

@JuanJavier1979

#WPODB

add_action( ‘wp_head’, mi_descripcion ); function mi_descripcion() {

echo ‘<meta name=“description” content=“”>’;}

Page 11: Introducción a los hooks

@JuanJavier1979

#WPODB

add_action( ‘wp_head’, mi_descripcion, 20 ); function mi_descripcion() {

echo ‘<meta name=“description” content=“”>’;}

add_action( ‘wp_head’, mis_keywords, 10 ); function mis_keywords() {

echo ‘<meta name=“keywords” content=“”>’;}

Page 12: Introducción a los hooks

@JuanJavier1979

#WPODB

add_filter( ‘the_title’, cambiar_titulo, 10, 1 ); function cambiar_titulo( $title ) {

if ( is_single() ) {$title = “Entrada: ” . $title;

}return $title;

}

Page 13: Introducción a los hooks

@JuanJavier1979

#WPODB

add_filter( ‘woocommerce_product_tabs’, quitar_tabs, 90 ); function quitar_tabs( $tabs ) {

unset( $tabs[ ‘reviews’ ] );unset( $tabs[ ‘additional_information’ ] );

return $tabs;}

Page 14: Introducción a los hooks

@JuanJavier1979

#WPODB

add_filter( ‘wp_nav_menu_items’, login_links, 10, 2 ); function login_links( $items, $args ) {

if ( !is_user_logged_in() && $args->theme_location == ‘main_menu’ ) {$items .= '<li><a href=“#">Log In</a></li>';

}return $items;

}

Page 15: Introducción a los hooks

@JuanJavier1979

#WPODB

http://businessbloomer.com/woocommerce-visual-hook-guide-cart-page/

Page 16: Introducción a los hooks

@JuanJavier1979

#WPODB

<body <?php body_class(); ?>><div id="page" class="hfeed site">

<?phpdo_action( 'storefront_before_header' ); ?>

<header id="masthead" class="site-header" role="banner"><div class="col-full">

Tema Storefront

Page 17: Introducción a los hooks

@JuanJavier1979

#WPODB

</div><!-- .col-full --></div><!-- #content -->

<?php do_action( 'storefront_before_footer' ); ?>

<footer id="colophon" class="site-footer" role="contentinfo"><div class="col-full">

<?php/** * @hooked storefront_footer_widgets - 10 * @hooked storefront_credit - 20 */do_action( 'storefront_footer' ); ?>

</div><!-- .col-full --></footer><!-- #colophon -->

<?php do_action( 'storefront_after_footer' ); ?>

</div><!-- #page -->

Page 18: Introducción a los hooks

@JuanJavier1979

#WPODB

/** * Footer * @see storefront_footer_widgets() * @see storefront_credit() */add_action( 'storefront_footer', ‘storefront_footer_widgets', 10 );add_action( 'storefront_footer', ‘storefront_credit', 20 );

function storefront_credit() {?>

<div class="site-info">

</div><!-- .site-info --><?php}

Page 19: Introducción a los hooks

@JuanJavier1979

#WPODB

remove_action( $hook, $quitar_funcion, $prioridad );

remove_action( 'storefront_footer', ‘storefront_footer_widgets', 10 );remove_action( 'storefront_footer', ‘storefront_credit', 20 );

add_action( 'storefront_footer', ‘storefront_footer_widgets', 20 );add_action( 'storefront_footer', ‘storefront_credit', 10 );

Page 20: Introducción a los hooks

Recursos

@JuanJavier1979

#WPODB

Page 21: Introducción a los hooks

@JuanJavier1979

#WPODB

https://wordpress.org/plugins/simply-show-hooks/screenshots/

Page 23: Introducción a los hooks

GRACIAS

@JuanJavier1979

#WPODB