$30 off During Our Annual Pro Sale. View Details »

Sistemas en WordPress: WPDB, AJAX, Custom Fields y otras magias

Sistemas en WordPress: WPDB, AJAX, Custom Fields y otras magias

Charla sobre cómo hacer con WordPress lo que no creías que se podía hacer en WordPress

More Decks by César J. Aquino Maximiliano

Other Decks in Programming

Transcript

  1. Sistemas en WordPress
    WPDB, AJAX, Custom Fields y otras magias
    César J. Aquino Maximiliano - @cesjam7

    View Slide

  2. Cosas que no pensabas que se podían
    hacer con WordPress… y otras magias
    César J. Aquino Maximiliano - @cesjam7

    View Slide

  3. bloginfo()
    César Jefferson Aquino Maximiliano
    cesaraquino.com.pe
    @cesjam7

    View Slide

  4. bloginfo()
    César Jefferson Aquino Maximiliano
    24 años (recién cumplidos)
    cesaraquino.com.pe
    @cesjam7

    View Slide

  5. bloginfo()
    César Jefferson Aquino Maximiliano
    24 años (recién cumplidos)
    Software Developer en Orange 612
    cesaraquino.com.pe
    @cesjam7

    View Slide

  6. bloginfo()
    César Jefferson Aquino Maximiliano
    24 años (recién cumplidos)
    Software Developer en Orange 612
    Bomberos voluntario (B105)
    cesaraquino.com.pe
    @cesjam7

    View Slide

  7. bloginfo()
    César Jefferson Aquino Maximiliano
    24 años (recién cumplidos)
    Software Developer en Orange 612
    Bomberos voluntario (B105)
    Profesor de Programación y Base de Datos
    cesaraquino.com.pe
    @cesjam7

    View Slide

  8. bloginfo()
    César Jefferson Aquino Maximiliano
    24 años (recién cumplidos)
    Software Developer en Orange 612
    Bomberos voluntario (B105)
    Profesor de Programación y Base de Datos
    Estudio Inglés - Intermedio 6
    cesaraquino.com.pe
    @cesjam7

    View Slide

  9. bloginfo()
    César Jefferson Aquino Maximiliano
    24 años (recién cumplidos)
    Software Developer en Orange 612
    Bomberos voluntario (B105)
    Profesor de Programación y Base de Datos
    Estudio Inglés - Intermedio 6
    PHP & JS
    cesaraquino.com.pe
    @cesjam7

    View Slide

  10. bloginfo()
    César Jefferson Aquino Maximiliano
    24 años (recién cumplidos)
    Software Developer en Orange 612
    Bomberos voluntario (B105)
    Profesor de Programación y Base de Datos
    Estudio Inglés - Intermedio 6
    PHP & JS
    Si, me gustan los gatos
    cesaraquino.com.pe
    @cesjam7

    View Slide

  11. ¡Me acaba de decir que WordPress es
    solo para blogs!

    View Slide

  12. Todos son muy buenos:

    View Slide

  13. Sistemas Web &
    Páginas Web

    View Slide

  14. WordPress por dentro
    Las tablas propias de WordPress

    View Slide

  15. View Slide

  16. ¡Metas
    everywhere! Y ahora tenemos
    wp_termmeta

    View Slide

  17. Post Types
    Convierte tu WordPress en cualquier tipo de sitio
    web sin tener que reconstruir tu sitio

    View Slide

  18. Tipos de sitio
    - Tienda virtual
    - Página de eventos
    - Foros
    - Red Social
    - Portafolio
    - Sitio de noticias

    View Slide

  19. Post Types
    - Tienda virtual (productos)
    - Página de eventos (eventos)
    - Foros (topic)
    - Red Social (publicaciones)
    - Portafolio (servicio)
    - Sitio de noticias (noticia)

    View Slide

  20. register_post_type(
    'evento', array(
    'Labels' => array('name' => 'Eventos', 'singular_name' => 'evento'),
    'public' => TRUE,
    'rewrite'=> array( 'slug' => 'evento'),
    'has_archive' => TRUE,
    'supports' => array( 'title', 'author', 'revisions')
    )
    );
    https://codex.wordpress.org/Function_Reference/register_post_type

    View Slide

  21. Custom Fields
    Crea todos los campos personalizados que quieras
    y cuando quieras

    View Slide

  22. https://codex.wordpress.org/Custom_Fields

    View Slide

  23. Si, a veces también
    usamos plugins

    View Slide

  24. Si, a veces también
    usamos plugins

    View Slide

  25. View Slide

  26. Crea custom fields de forma rápida y sencilla

    View Slide

  27. WPDB
    Maneja tu Base de Datos a tu gusto

    View Slide

  28. Porque a veces nos queda chico
    las tablas de WP
    Inserta, actualiza, elimina y consulta a tu gusto
    todas las tablas propias de WordPress o las
    que tu crees.

    View Slide

  29. global $wpdb;
    $wpdb->insert("wp_my_table", array(
    'iddetail' => 7,
    'detail' => ‘Nuevo registro’,
    'type' => 1,
    'Date_register'=> date('Y-m-d H:i:s')
    ));
    $registros = $wpdb->get_results("SELECT * FROM wp_my_table
    WHERE type = 1" );
    https://codex.wordpress.org/Class_Reference/wpdb

    View Slide

  30. Paneles personalizados
    Crea lo que quieras sin restricciones

    View Slide

  31. View Slide

  32. El panel de
    WordPress se ve
    bien, pero hay
    muchas cosas que se
    nos hace complicado
    desarrollar ahí

    View Slide

  33. Ventajas de crear tu propio panel
    - Usar mis propios estilos
    - Formularios en cualquier lado
    - Urls personalizadas
    - Agregar diferentes pasos
    - Y más

    View Slide

  34. Para más información visita mi
    diapositiva
    “Trayendo el wp-admin al
    front”
    https://speakerdeck.com/cesjam7/trayendo-el-wp-admin-al-
    front

    View Slide

  35. Fin del espacio publicitario

    View Slide

  36. Imagina todo lo que puedes hacer

    View Slide

  37. Imagina todo lo que puedes hacer

    View Slide

  38. Imagina todo lo que puedes hacer

    View Slide

  39. $id = wp_insert_post( array(
    "post_title" => "Leslie Shaw lanzó indirecta contra Olinda Castañeda",
    "post_status" => "publish",
    "Post_type" => "chisme"
    ));
    add_post_meta
    ($id, 'importancia', 0);
    wp_redirect(get_permalink($id));
    https://developer.wordpress.org/reference/functions/wp_insert_post/

    View Slide

  40. ¿Eso es todo no?

    View Slide

  41. AJAX
    La magia de AJAX en nuestro WordPress

    View Slide

  42. Por qué AJAX?
    Realiza consultas, registros y otras
    acciones sin recargar la página

    View Slide

  43. Por qué AJAX?
    Realiza consultas, registros y otras
    acciones sin recargar la página
    [Ejemplos en vivo]

    View Slide

  44. Para más información visita mi
    artículo
    “Manual para empezar con
    wp_ajax”
    http://cesaraquino.com.pe/2016/03/manual-para-empezar-con-wp_ajax/

    View Slide

  45. Fin del espacio publicitario

    View Slide

  46. Caché
    WordPress no solo es para sitios chicos

    View Slide

  47. No es solo un
    trabajo para los
    plugins

    View Slide

  48. if ( false === ( $ordenes = get_transient( 'ordenes_cache' ) ) ) {
    $ordenes = array();
    $args = array(
    'post_type' => 'orden',
    'posts_per_page' => -1
    );
    query_posts
    ($filters);
    while(have_posts()){ the_post();
    $orden = get_orden_listado(get_the_id());
    array_push($ordenes, $orden);
    }
    wp_reset_query();
    set_transient( 'ordenes_cache', $ordenes, DAY_IN_SECONDS );
    }
    https://codex.wordpress.org/Transients_API

    View Slide

  49. Otras magias
    - Hooks
    Haz que tu WordPress realice acciones
    mientras se ejecute otra.
    https://codex.wordpress.org/Plugin_API/Hooks

    View Slide

  50. Otras magias
    - Filters
    Cambia alguna funcionalidad o valor de
    WordPress para tu comodidad.
    https://codex.wordpress.org/Plugin_API/Filter_Reference

    View Slide

  51. Otras magias
    - Virtual pages
    Crea páginas sin necesidad de registrarlo en
    los ‘pages’ y evita que el cliente te destruya
    tu sitio.
    http://wordpress.stackexchange.com/questions/9870/how-do-you-create-a-virtual-page-in-wordpress

    View Slide

  52. Otras magias
    - Url personalizado con variables
    Si, como cualquier framework genera las url
    a tu gusto.
    http://cesaraquino.com.pe/2016/06/rutas-personalizadas-en-wordpress/

    View Slide

  53. Otras magias
    - Cron
    Programar procesos para que WordPress
    trabaje por ti
    https://codex.wordpress.org/Function_Reference/wp_cron

    View Slide

  54. Otras magias
    - Búsquedas avanzadas
    Configura el buscado por defecto de
    WordPress para que agregue otros filtros.
    http://cesaraquino.com.pe/2016/07/incluir-custom-field-para-las-busquedas-de-wordpress/

    View Slide

  55. Envía un tweet usando el hashtag #gatosendiapos y tu gato saldrá en una
    próxima presentación
    #gatosendiapos

    View Slide

  56. Fin del espacio publicitario

    View Slide

  57. wp_gracias()
    cesaraquino.com.pe
    twitter.com/cesjam7
    github.com/cesjam7
    pe.linkedin.com/in/cesjam7
    speakerdeck.com/cesjam7
    databomberos.com
    orange612.com
    César J. Aquino Maximiliano

    View Slide

  58. wp_gracias()
    cesaraquino.com.pe
    twitter.com/cesjam7
    github.com/cesjam7
    pe.linkedin.com/in/cesjam7
    speakerdeck.com/cesjam7
    databomberos.com
    orange612.com
    César J. Aquino Maximiliano
    ¿Preguntas?

    View Slide