sistemas en wordpress: wpdb, ajax, custom fields y otras magias
TRANSCRIPT
Sistemas en WordPressWPDB, AJAX, Custom Fields y otras magias
César J. Aquino Maximiliano - @cesjam7
Cosas que no pensabas que se podían hacer con WordPress… y otras magias
César J. Aquino Maximiliano - @cesjam7
bloginfo()
César Jefferson Aquino Maximiliano
24 años (recién cumplidos)
Software Developer en Orange 612
cesaraquino.com.pe@cesjam7
bloginfo()
César Jefferson Aquino Maximiliano
24 años (recién cumplidos)
Software Developer en Orange 612
Bomberos voluntario (B105)
cesaraquino.com.pe@cesjam7
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
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
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
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 gatoscesaraquino.com.pe@cesjam7
Tipos de sitio
- Tienda virtual- Página de eventos- Foros- Red Social- Portafolio- Sitio de noticias
Post Types
- Tienda virtual (productos)- Página de eventos (eventos)- Foros (topic)- Red Social (publicaciones)- Portafolio (servicio)- Sitio de noticias (noticia)
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
https://codex.wordpress.org/Custom_Fields
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.
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
Ventajas de crear tu propio panel
- Usar mis propios estilos- Formularios en cualquier lado- Urls personalizadas- Agregar diferentes pasos- Y más
Para más información visita mi diapositiva
“Trayendo el wp-admin al front”
https://speakerdeck.com/cesjam7/trayendo-el-wp-admin-al-
front
$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/
Por qué AJAX?
Realiza consultas, registros y otras acciones sin recargar la página
[Ejemplos en vivo]
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/
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
Otras magias
- Hooks
Haz que tu WordPress realice acciones mientras se ejecute otra.
https://codex.wordpress.org/Plugin_API/Hooks
Otras magias
- Filters
Cambia alguna funcionalidad o valor de WordPress para tu comodidad.
https://codex.wordpress.org/Plugin_API/Filter_Reference
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
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/
Otras magias
- Cron
Programar procesos para que WordPress trabaje por ti
https://codex.wordpress.org/Function_Reference/wp_cron
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/
Envía un tweet usando el hashtag #gatosendiapos y tu gato saldrá en una próxima presentación
#gatosendiapos
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