WordPress a medida
Ricardo Aiello
Analista/Desarrollador
mecanismos
de extensión
Mecanismos de extensión WordPress a medida
¿Por qué?
Si modificamos directamente el código de
WordPress, de un plugin o de...
child
themes
Child themes WordPress a medida
Child themes WordPress a medida
child
theme
parent
theme
Child themes WordPress a medida
/*
Theme Name: Cualquier theme - Child
Description: Ejemplo genérico.
Author: Ricardo Aiel...
Child themes WordPress a medida
<?php
/**
* Código PHP aquí
*/
//Creamos una función personalizada
function ctc_say_hello(...
Child themes WordPress a medida
<?php
if ( !function_exists( 'ct_do_something' ) ) {
function ct_do_something() {
//Hacer ...
Child themes WordPress a medida
<?php
/**
* Código PHP aquí
*/
//Creamos una función personalizada
function ctc_say_hello(...
Child themes WordPress a medida
<?php
/**
* Plantilla alternativa para comentarios
*/
if ( post_password_required() ) {
re...
hooks
Hooks WordPress a medida
Hooks WordPress a medida
Hooks WordPress a medida
● mesa_puesta
● bebida_servida
● milanesa_servida
● ensalada_servida
● cena_comenzada
● cena_term...
Hooks: Actions WordPress a medida
<?php
//Cuando una persona termina de cenar
add_action(
'cena_terminada',
'wpa_lavar_pla...
Hooks: Actions WordPress a medida
<?php
//Cuando llegamos al final de la página
add_action(
'wp_footer', //$hook
'wpa_goog...
Hooks: Filters WordPress a medida
<?php
//Cuando servimos la ensalada
add_filter(
'ensalada_servida',
'wpa_condimentar',
1...
Hooks: Filters WordPress a medida
<?php
//Cuando mostramos el pie de página en el admin
add_filter(
'admin_footer_text', /...
<?php
remove_action(
$hook,
$function,
$priority
);
remove_all_actions(
$hook,
$priority
);
?>
Hooks: Actions & Filters Wo...
<?php
do_action(
$hook,
$arg_1, $arg_2, $arg_n
);
do_action_ref_array(
$hook,
$args
);
?>
Hooks: Actions & Filters WordPre...
plugins
a medida
Plugins a medida WordPress a medida
<?php
/*
Plugin Name: Mi plugin
Description: Ejemplo genérico.
Author: Ricardo Aiello
...
preguntas
y comentarios
Gracias :) WordPress a medida
Próxima SlideShare
Cargando en…5
×

WordPress a medida

866 visualizaciones

Publicado el

A la hora de personalizar, las opciones de configuración del admin son sólo la punta del iceberg: lo mejor está debajo del capot. Una introducción simple y práctica a los mecanismos de extensión de WordPress: child themes, hooks (actions/filters) y plugins a medida.

Ricardo Aiello para WP Argentina (wpargentina.org)
en Buenos Aires WordPress Meetup
7 de abril de 2015

Publicado en: Internet
0 comentarios
4 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

Sin descargas
Visualizaciones
Visualizaciones totales
866
En SlideShare
0
De insertados
0
Número de insertados
444
Acciones
Compartido
0
Descargas
0
Comentarios
0
Recomendaciones
4
Insertados 0
No insertados

No hay notas en la diapositiva.

WordPress a medida

  1. 1. WordPress a medida
  2. 2. Ricardo Aiello Analista/Desarrollador
  3. 3. mecanismos de extensión
  4. 4. Mecanismos de extensión WordPress a medida ¿Por qué? Si modificamos directamente el código de WordPress, de un plugin o de un theme, nuestros cambios se pierden al actualizarlo. Y no, ignorar actualizaciones no es una opción. ¿Cuándo?
  5. 5. child themes
  6. 6. Child themes WordPress a medida
  7. 7. Child themes WordPress a medida child theme parent theme
  8. 8. Child themes WordPress a medida /* Theme Name: Cualquier theme - Child Description: Ejemplo genérico. Author: Ricardo Aiello Author URI: http://wpargentina.org/ Template: cualquiertheme Version: 0.1 Text Domain: cualquiertheme-child */ @import url("../cualquiertheme/style.css"); /* Código CSS a partir de aquí */
  9. 9. Child themes WordPress a medida <?php /** * Código PHP aquí */ //Creamos una función personalizada function ctc_say_hello() { echo __( 'Hello!', 'cualquiertheme-child' ); } ?>
  10. 10. Child themes WordPress a medida <?php if ( !function_exists( 'ct_do_something' ) ) { function ct_do_something() { //Hacer algo } } ?>
  11. 11. Child themes WordPress a medida <?php /** * Código PHP aquí */ //Creamos una función personalizada function ctc_say_hello() { echo __( 'Hello!', 'cualquiertheme-child' ); } //Reemplazamos una función del parent theme function ct_do_something() { //Hacer algo de manera diferente } ?>
  12. 12. Child themes WordPress a medida <?php /** * Plantilla alternativa para comentarios */ if ( post_password_required() ) { return; } if ( comments_open() && post_type_supports( get_post_type(), 'comments' ) ) { //Muestro Facebook Comments } else { //Indico que no se puede comentar } ?>
  13. 13. hooks
  14. 14. Hooks WordPress a medida
  15. 15. Hooks WordPress a medida
  16. 16. Hooks WordPress a medida ● mesa_puesta ● bebida_servida ● milanesa_servida ● ensalada_servida ● cena_comenzada ● cena_terminada
  17. 17. Hooks: Actions WordPress a medida <?php //Cuando una persona termina de cenar add_action( 'cena_terminada', 'wpa_lavar_platos', 10, 1 ); function wpa_lavar_platos( $persona ) { //Si esa persona es Pablo if ( $persona->nombre == 'Pablo' ) { //Le pedimos que lave los platos $persona->lavar( 'platos' ); } } ?> Querido WordPress: Cuando Pablo termine de cenar, ¿le pedirías que lave los platos? ¡Gracias!
  18. 18. Hooks: Actions WordPress a medida <?php //Cuando llegamos al final de la página add_action( 'wp_footer', //$hook 'wpa_google_analytics', //$function 10, //$priority 0 //$arguments ); function wpa_google_analytics() { //Si el usuario no inició sesión if ( !is_user_logged_in() ) { //Mostramos el código de Analytics ?> <!-- Aquí pegaríamos el código --> <?php } } ?> Querido WordPress: Cuando un usuario no registrado visite una página del sitio, ¿podrías añadir al final el código de Google Analytics? ¡Gracias!
  19. 19. Hooks: Filters WordPress a medida <?php //Cuando servimos la ensalada add_filter( 'ensalada_servida', 'wpa_condimentar', 10, 1 ); function wpa_condimentar( $ensalada ) { //Buscamos los condimentos global $aceite, $limon; //Los añadimos a la ensalada $ensalada = $ensalada + $aceite + $limon; //Continuamos sirviéndola return $ensalada; } ?> Querido WordPress: Cuando sirvas la ensalada, ¿podrías condimentarla con aceite y limón? ¡Gracias!
  20. 20. Hooks: Filters WordPress a medida <?php //Cuando mostramos el pie de página en el admin add_filter( 'admin_footer_text', //$hook 'wpa_admin_footer_text', //$function 10, //$priority 1 //$arguments ); function wpa_admin_footer_text( $text ) { //Le anteponemos el nombre del sitio $text = get_bloginfo( 'name' ) . '|' . $text; //Devolvemos el pie de página return $text; } ?> Querido WordPress: Cuando muestres el pie de página en el admin, ¿podrías anteponerle el nombre del sitio? ¡Gracias!
  21. 21. <?php remove_action( $hook, $function, $priority ); remove_all_actions( $hook, $priority ); ?> Hooks: Actions & Filters WordPress a medida <?php remove_filter( $hook, $function, $priority ); remove_all_filters( $hook, $priority ); ?> También podemos “descolgar”...
  22. 22. <?php do_action( $hook, $arg_1, $arg_2, $arg_n ); do_action_ref_array( $hook, $args ); ?> Hooks: Actions & Filters WordPress a medida <?php apply_filters( $hook, $value, $arg_1, $arg_2, $arg_n ); apply_filters_ref_array( $hook, $args ); ?> ¿Cómo los encontramos?
  23. 23. plugins a medida
  24. 24. Plugins a medida WordPress a medida <?php /* Plugin Name: Mi plugin Description: Ejemplo genérico. Author: Ricardo Aiello Author URI: http://wpargentina.org/ Version: 0.1 Text Domain: miplugin */ /* Código PHP a partir de aquí */ //Creamos otra función personalizada function mp_say_goodbye() { echo __( Goodbye!', 'miplugin' ); } ?>
  25. 25. preguntas y comentarios
  26. 26. Gracias :) WordPress a medida

×