SlideShare une entreprise Scribd logo
1  sur  19
Télécharger pour lire hors ligne
WordPress y
JavaScript
¡Hola!
Mi nombre es Juan Pablo De la torre Valdez
Desarrollador Web, Freelancer e Instructor en Udemy.
2
“
Learn JavaScript, Deeply
-Matt Mullenweg
State of the Word, WordCamp EU 2015
3
#WCGDL
JavaScript en
WordPress
Aunque el tema ha ganado
popularidad el último año,
JavaScript no es algo nuevo en
WordPress.
4
#WCGDL
WordPress ya utiliza
JavaScript
▫ Customizr.
▫ La Librería Multimedia.
▫ Las Revisiones de los Posts.
▫ Administración de Menús.
▫ Gutenberg.
▫ En cada versión nueva de
WordPress, JavaScript va
tomando más importancia.
Se puede integrar JavaScript a tus
Themes o Plugins personalizados. Así
como Aplicaciones Web.
5
#WCGDL
Agregar JavaScript en
tu Theme.
En un Theme (functions.php) :
<?php
function mitheme_scripts() {
wp_enqueue_script(
'filterizr',
get_template_directory_uri() . '/js/jquery.filterizr.js',
array('jquery'),
'1.2.3',
true
);
}
add_action(‘wp_enqueue_scripts’, ‘mitheme_scripts’);
6
#WCGDL
En un Plugin ( mi_plugin.php ) :
<?php
function miplugin_scripts() {
wp_enqueue_script(
'ga-recetas-js',
plugins_url( 'ga-rest-api.js', __FILE__),
array(),
'1.0.0',
true
);
}
add_action(‘wp_enqueue_scripts’, miplugin_scripts);
7
Agregar JavaScript en
tu Plugin
#WCGDL
wp_localize_script( $script, $nombre, $datos );
Función que se desarrolló para pasar
traducciones de texto.
Una excelente forma de pasar datos en PHP a
JavaScript.
Se utilizaba para llamados Ajax en WordPress
(WP-AJAX)
Pasar Datos de PHP a JavaScript
8
#WCGDL
Ejemplo con código.
9
En tu código PHP:
wp_localize_script(
'ga-recetas-js',
'ruta_rest_api',
array(
'url' => rest_url( 'wp/v2/recetas-api/' )
)
);
En tu código JS:
( function() {
const url = ruta_rest_api.url ;
// consultar con $.ajax, fetch o axios
})();
#WCGDL
WP REST API y
JavaScript
Con WP REST API puedes crear
aplicaciones web SPA o móviles con
cualquier tecnología que soporte
HTTP.
10
#WCGDL
WordPress REST API.
▫ Disponible desde la versión 4.7.
▫ Consumir y mostrar los datos en
cualquier lenguaje o Framework
Front End o Backend debido a la
respuesta JSON o crear
aplicaciones web o móviles.
▫ WP REST API provee los
endpoints o rutas para acceder a
los datos de tu sitio web.
11
Ejemplos de Endpoints o Routes
/wp-json/wp/v2/posts
/wp-json/wp/v2/posts/1
/wp-json/wp/v2/categories
/wp-json/wp/v2/tags
/wp-json/wp/v2/pages
/wp-json/wp/v2/comments
12
/wp-json/wp/v2/taxonomies
/wp-json/wp/v2/media
/wp-json/wp/v2/users
/wp-json/wp/v2/types
/wp-json/wp/v2/statuses
/wp-json/wp/v2/settings
http://www.tusitio.com/{ruta}
Ejemplo con AXIOS
1.- Enqueue a Axios y app.js
wp_enqueue_script( 'axios', get_template_directory_uri() . '/js/axios.js', array(), '0.9', true );
wp_enqueue_script( 'app', get_template_directory_uri() . '/js/app.js', array(), '1.0.0', true );
2.- Pasar a nuestro script los datos de PHP.
wp_localize_script( 'app', 'rest_url', array( 'url' => rest_url('/') ) );
3.- Leer los Posts y enviar petición con Axios. (app.js)
axios.get(`${ rest_url.url }wp/v2/posts`)
.then(respuesta => {
respuesta.data.map(post => console.log(post) )
});
13
No hay límites.
Gracias a WP REST API es posible realizar proyectos
que antes eran inimaginables en WordPress
14
#WCGDL
Gutenberg y JavaScript
▫ Permite crear un sitio web de
forma visual por medio de
bloques.
▫ Disponible a partir de la Versión 5
de WordPress ( se puede instalar
como Plugin).
▫ JavaScript y React son las
tecnologías más utilizadas para
Gutenberg.
▫ Si vendes un Theme o Plugins lo
ideal es que soporte Gutenberg.
15
#WCGDL
Cómo crear un bloque
de Gutenberg
En un Plugin (PHP) :
<?php
function mi_plugin_gutenberg_blocks() {
wp_enqueue_script(
'ga-block',
plugins_url('block.build.js', __FILE__),
array( 'wp-blocks', 'wp-i18n', 'wp-element'),
filemtime( plugin_dir_path( __FILE__ ) . 'block.build.js' )
);
}
add_action('enqueue_block_editor_assets',
‘mi_plugin_gutenberg_blocks’);
16
17
Cómo crear un bloque de Gutenberg (JavaScript)
// importamos elementos desde gutenberg
const { registerBlockType } = wp.blocks;
const { RichText } = wp.editor;
registerBlockType('plugin/nombre_bloque', {
title: 'Nombre del Bloque', // se mostrará en Gutenberg
icon: 'icono', // dashicon
category: 'formatting', // categoría de gutenberg
attributes: {}, // los datos u objetos del bloque
edit: () => {
// lo que se verá en el Editor de Gutenberg
},
save: () => {
// Cuando se guarda el bloque (render a los attributes)
  }
});
#WCGDL
¿Cuánto JavaScript
debo saber?
JavaScript Moderno (ES6+).
▫ Arrow Functions
▫ Template Literals
▫ Eventos
▫ Destructuring
▫ Modules
▫ Objetos y Classes
▫ Fetch API y Promises
▫ Async / Await
▫ React
▪ ReactDOM
▪ JSX
▪ State y setState
▪ Class y Functional Components
▪ Props
18
19
¡Gracias!
¿Tienes preguntas?
@JuanDevWP
fb.com/juan.delatorre.1257

Contenu connexe

Tendances

Despliegue de aplicaciones web en Microsoft Azure
Despliegue de aplicaciones web en Microsoft AzureDespliegue de aplicaciones web en Microsoft Azure
Despliegue de aplicaciones web en Microsoft AzureVíctor Moreno
 
Cómo incrustar una página web en el TwinSpace
Cómo incrustar una página web en el TwinSpaceCómo incrustar una página web en el TwinSpace
Cómo incrustar una página web en el TwinSpaceeTwinning España
 
Angular js Frontenders Valencia
Angular js Frontenders ValenciaAngular js Frontenders Valencia
Angular js Frontenders ValenciaJavier Ruiz
 
Cómo volarle la peluca a tus usuarios con la velocidad de tu sitio?
Cómo volarle la peluca a tus usuarios con la velocidad de tu sitio?Cómo volarle la peluca a tus usuarios con la velocidad de tu sitio?
Cómo volarle la peluca a tus usuarios con la velocidad de tu sitio?Martin Siniawski
 
Introducción a web matrix
Introducción a web matrixIntroducción a web matrix
Introducción a web matrixMICTT Palma
 
WordPress multi-idioma: WPML vs MultilingualPress
WordPress multi-idioma: WPML vs MultilingualPressWordPress multi-idioma: WPML vs MultilingualPress
WordPress multi-idioma: WPML vs MultilingualPressWordPress Tarragona
 
Los mejores trucos para aumentar la velocidad en joomla!
Los mejores trucos para aumentar la velocidad en joomla!Los mejores trucos para aumentar la velocidad en joomla!
Los mejores trucos para aumentar la velocidad en joomla!Carlos M. Cámara
 
WordPress Multi-idioma - WPML vs MultiLingualPress
WordPress Multi-idioma - WPML vs MultiLingualPressWordPress Multi-idioma - WPML vs MultiLingualPress
WordPress Multi-idioma - WPML vs MultiLingualPressAlbert Calzada Ribalta
 
Mi primera App con GAE
Mi primera App con GAEMi primera App con GAE
Mi primera App con GAEGDG Lima
 
Máquinas Virtuales en Microsoft Azure con C# .Net
Máquinas Virtuales en Microsoft Azure con C# .NetMáquinas Virtuales en Microsoft Azure con C# .Net
Máquinas Virtuales en Microsoft Azure con C# .NetVíctor Moreno
 
WPO: Lo que debes saber sobre como optimizar correctamente tu WordPress
WPO: Lo que debes saber sobre como optimizar correctamente tu WordPressWPO: Lo que debes saber sobre como optimizar correctamente tu WordPress
WPO: Lo que debes saber sobre como optimizar correctamente tu WordPressRaiola Networks
 

Tendances (18)

Consejos clave para_crear_proyectos_web
Consejos clave para_crear_proyectos_webConsejos clave para_crear_proyectos_web
Consejos clave para_crear_proyectos_web
 
Despliegue de aplicaciones web en Microsoft Azure
Despliegue de aplicaciones web en Microsoft AzureDespliegue de aplicaciones web en Microsoft Azure
Despliegue de aplicaciones web en Microsoft Azure
 
Andrea Olivera
Andrea OliveraAndrea Olivera
Andrea Olivera
 
Como colocar una radio a tu blogger
Como colocar una radio a tu bloggerComo colocar una radio a tu blogger
Como colocar una radio a tu blogger
 
myprofly
myproflymyprofly
myprofly
 
Cómo incrustar una página web en el TwinSpace
Cómo incrustar una página web en el TwinSpaceCómo incrustar una página web en el TwinSpace
Cómo incrustar una página web en el TwinSpace
 
Angular js Frontenders Valencia
Angular js Frontenders ValenciaAngular js Frontenders Valencia
Angular js Frontenders Valencia
 
Aplicando excepciones en java web
Aplicando excepciones en java webAplicando excepciones en java web
Aplicando excepciones en java web
 
Cómo volarle la peluca a tus usuarios con la velocidad de tu sitio?
Cómo volarle la peluca a tus usuarios con la velocidad de tu sitio?Cómo volarle la peluca a tus usuarios con la velocidad de tu sitio?
Cómo volarle la peluca a tus usuarios con la velocidad de tu sitio?
 
Introducción a web matrix
Introducción a web matrixIntroducción a web matrix
Introducción a web matrix
 
Pres2
Pres2Pres2
Pres2
 
WordPress multi-idioma: WPML vs MultilingualPress
WordPress multi-idioma: WPML vs MultilingualPressWordPress multi-idioma: WPML vs MultilingualPress
WordPress multi-idioma: WPML vs MultilingualPress
 
Los mejores trucos para aumentar la velocidad en joomla!
Los mejores trucos para aumentar la velocidad en joomla!Los mejores trucos para aumentar la velocidad en joomla!
Los mejores trucos para aumentar la velocidad en joomla!
 
Angular - Introduccion
Angular - IntroduccionAngular - Introduccion
Angular - Introduccion
 
WordPress Multi-idioma - WPML vs MultiLingualPress
WordPress Multi-idioma - WPML vs MultiLingualPressWordPress Multi-idioma - WPML vs MultiLingualPress
WordPress Multi-idioma - WPML vs MultiLingualPress
 
Mi primera App con GAE
Mi primera App con GAEMi primera App con GAE
Mi primera App con GAE
 
Máquinas Virtuales en Microsoft Azure con C# .Net
Máquinas Virtuales en Microsoft Azure con C# .NetMáquinas Virtuales en Microsoft Azure con C# .Net
Máquinas Virtuales en Microsoft Azure con C# .Net
 
WPO: Lo que debes saber sobre como optimizar correctamente tu WordPress
WPO: Lo que debes saber sobre como optimizar correctamente tu WordPressWPO: Lo que debes saber sobre como optimizar correctamente tu WordPress
WPO: Lo que debes saber sobre como optimizar correctamente tu WordPress
 

Similaire à WordPress y JavaScript

WordCamp Sevilla 2016 - Creación de un plugin con subida a WordPress.org
WordCamp Sevilla 2016 - Creación de un plugin con subida a WordPress.orgWordCamp Sevilla 2016 - Creación de un plugin con subida a WordPress.org
WordCamp Sevilla 2016 - Creación de un plugin con subida a WordPress.orgRaúl Martínez
 
La potencia sin control no sirve de nada, claves para aprovechar el uso de Wo...
La potencia sin control no sirve de nada, claves para aprovechar el uso de Wo...La potencia sin control no sirve de nada, claves para aprovechar el uso de Wo...
La potencia sin control no sirve de nada, claves para aprovechar el uso de Wo...Asociación Webmasters Cantabria
 
manual de jquery
manual de jquerymanual de jquery
manual de jqueryAngel Luna
 
Jsf Java Server Faces
Jsf   Java Server FacesJsf   Java Server Faces
Jsf Java Server Facescok12v
 
Servicios web
Servicios webServicios web
Servicios webitoomac02
 
Servicios web
Servicios webServicios web
Servicios webitoomac02
 
Cursowordpress 091124113422-phpapp02
Cursowordpress 091124113422-phpapp02Cursowordpress 091124113422-phpapp02
Cursowordpress 091124113422-phpapp02Josefina Moratalla
 
Test Unitarios y E2E front y Back
Test Unitarios y E2E front y BackTest Unitarios y E2E front y Back
Test Unitarios y E2E front y BackEric Zeidan
 
WordPress como back-end de nuestras apps
WordPress como back-end de nuestras appsWordPress como back-end de nuestras apps
WordPress como back-end de nuestras appsJaime Fernández
 
El universo JavaScript en Drupal 7
El universo JavaScript en Drupal 7El universo JavaScript en Drupal 7
El universo JavaScript en Drupal 7Ymbra
 
Introducción a Zend Framework
Introducción a Zend FrameworkIntroducción a Zend Framework
Introducción a Zend FrameworkIrontec
 

Similaire à WordPress y JavaScript (20)

WordCamp Sevilla 2016 - Creación de un plugin con subida a WordPress.org
WordCamp Sevilla 2016 - Creación de un plugin con subida a WordPress.orgWordCamp Sevilla 2016 - Creación de un plugin con subida a WordPress.org
WordCamp Sevilla 2016 - Creación de un plugin con subida a WordPress.org
 
Introducción a VueJS
Introducción a VueJSIntroducción a VueJS
Introducción a VueJS
 
Dar lab1819
Dar lab1819Dar lab1819
Dar lab1819
 
La potencia sin control no sirve de nada, claves para aprovechar el uso de Wo...
La potencia sin control no sirve de nada, claves para aprovechar el uso de Wo...La potencia sin control no sirve de nada, claves para aprovechar el uso de Wo...
La potencia sin control no sirve de nada, claves para aprovechar el uso de Wo...
 
Manual de jquery
Manual de jqueryManual de jquery
Manual de jquery
 
Jquery
JqueryJquery
Jquery
 
manual de jquery
manual de jquerymanual de jquery
manual de jquery
 
Jsf Java Server Faces
Jsf   Java Server FacesJsf   Java Server Faces
Jsf Java Server Faces
 
Gwt III - Avanzado
Gwt III - AvanzadoGwt III - Avanzado
Gwt III - Avanzado
 
Servicios web
Servicios webServicios web
Servicios web
 
Servicios web
Servicios webServicios web
Servicios web
 
Cv dennys-jose-marquez-reyes-desarrollador-web
Cv dennys-jose-marquez-reyes-desarrollador-webCv dennys-jose-marquez-reyes-desarrollador-web
Cv dennys-jose-marquez-reyes-desarrollador-web
 
Ntics
NticsNtics
Ntics
 
Ntics- Acosta
Ntics- AcostaNtics- Acosta
Ntics- Acosta
 
Cursowordpress 091124113422-phpapp02
Cursowordpress 091124113422-phpapp02Cursowordpress 091124113422-phpapp02
Cursowordpress 091124113422-phpapp02
 
Wordpress
Wordpress Wordpress
Wordpress
 
Test Unitarios y E2E front y Back
Test Unitarios y E2E front y BackTest Unitarios y E2E front y Back
Test Unitarios y E2E front y Back
 
WordPress como back-end de nuestras apps
WordPress como back-end de nuestras appsWordPress como back-end de nuestras apps
WordPress como back-end de nuestras apps
 
El universo JavaScript en Drupal 7
El universo JavaScript en Drupal 7El universo JavaScript en Drupal 7
El universo JavaScript en Drupal 7
 
Introducción a Zend Framework
Introducción a Zend FrameworkIntroducción a Zend Framework
Introducción a Zend Framework
 

Dernier

Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1ivanapaterninar
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 
Trabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointTrabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointValerioIvanDePazLoja
 
La tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedadLa tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedadEduardoSantiagoSegov
 
Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)JuanStevenTrujilloCh
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersIván López Martín
 
La electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfLa electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfcristianrb0324
 
Análisis de Artefactos Tecnologicos (3) (1).pdf
Análisis de Artefactos Tecnologicos  (3) (1).pdfAnálisis de Artefactos Tecnologicos  (3) (1).pdf
Análisis de Artefactos Tecnologicos (3) (1).pdfsharitcalderon04
 
Slideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan GerenciaSlideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan Gerenciacubillannoly
 
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdfBetianaJuarez1
 
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024u20211198540
 
David_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptxDavid_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptxDAVIDROBERTOGALLEGOS
 
Herramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfHerramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfKarinaCambero3
 
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptxLINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptxkimontey
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúCEFERINO DELGADO FLORES
 
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...Marketing BRANDING
 
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptxHugoGutierrez99
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfFernandoOblitasVivan
 

Dernier (20)

Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 
Trabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointTrabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power Point
 
La tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedadLa tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedad
 
Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 Testcontainers
 
La electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfLa electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdf
 
Análisis de Artefactos Tecnologicos (3) (1).pdf
Análisis de Artefactos Tecnologicos  (3) (1).pdfAnálisis de Artefactos Tecnologicos  (3) (1).pdf
Análisis de Artefactos Tecnologicos (3) (1).pdf
 
Slideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan GerenciaSlideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan Gerencia
 
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
 
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
 
David_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptxDavid_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptx
 
Herramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfHerramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdf
 
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptxLINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
 
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
 
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdf
 

WordPress y JavaScript

  • 2. ¡Hola! Mi nombre es Juan Pablo De la torre Valdez Desarrollador Web, Freelancer e Instructor en Udemy. 2
  • 3. “ Learn JavaScript, Deeply -Matt Mullenweg State of the Word, WordCamp EU 2015 3
  • 4. #WCGDL JavaScript en WordPress Aunque el tema ha ganado popularidad el último año, JavaScript no es algo nuevo en WordPress. 4
  • 5. #WCGDL WordPress ya utiliza JavaScript ▫ Customizr. ▫ La Librería Multimedia. ▫ Las Revisiones de los Posts. ▫ Administración de Menús. ▫ Gutenberg. ▫ En cada versión nueva de WordPress, JavaScript va tomando más importancia. Se puede integrar JavaScript a tus Themes o Plugins personalizados. Así como Aplicaciones Web. 5
  • 6. #WCGDL Agregar JavaScript en tu Theme. En un Theme (functions.php) : <?php function mitheme_scripts() { wp_enqueue_script( 'filterizr', get_template_directory_uri() . '/js/jquery.filterizr.js', array('jquery'), '1.2.3', true ); } add_action(‘wp_enqueue_scripts’, ‘mitheme_scripts’); 6
  • 7. #WCGDL En un Plugin ( mi_plugin.php ) : <?php function miplugin_scripts() { wp_enqueue_script( 'ga-recetas-js', plugins_url( 'ga-rest-api.js', __FILE__), array(), '1.0.0', true ); } add_action(‘wp_enqueue_scripts’, miplugin_scripts); 7 Agregar JavaScript en tu Plugin
  • 8. #WCGDL wp_localize_script( $script, $nombre, $datos ); Función que se desarrolló para pasar traducciones de texto. Una excelente forma de pasar datos en PHP a JavaScript. Se utilizaba para llamados Ajax en WordPress (WP-AJAX) Pasar Datos de PHP a JavaScript 8
  • 9. #WCGDL Ejemplo con código. 9 En tu código PHP: wp_localize_script( 'ga-recetas-js', 'ruta_rest_api', array( 'url' => rest_url( 'wp/v2/recetas-api/' ) ) ); En tu código JS: ( function() { const url = ruta_rest_api.url ; // consultar con $.ajax, fetch o axios })();
  • 10. #WCGDL WP REST API y JavaScript Con WP REST API puedes crear aplicaciones web SPA o móviles con cualquier tecnología que soporte HTTP. 10
  • 11. #WCGDL WordPress REST API. ▫ Disponible desde la versión 4.7. ▫ Consumir y mostrar los datos en cualquier lenguaje o Framework Front End o Backend debido a la respuesta JSON o crear aplicaciones web o móviles. ▫ WP REST API provee los endpoints o rutas para acceder a los datos de tu sitio web. 11
  • 12. Ejemplos de Endpoints o Routes /wp-json/wp/v2/posts /wp-json/wp/v2/posts/1 /wp-json/wp/v2/categories /wp-json/wp/v2/tags /wp-json/wp/v2/pages /wp-json/wp/v2/comments 12 /wp-json/wp/v2/taxonomies /wp-json/wp/v2/media /wp-json/wp/v2/users /wp-json/wp/v2/types /wp-json/wp/v2/statuses /wp-json/wp/v2/settings http://www.tusitio.com/{ruta}
  • 13. Ejemplo con AXIOS 1.- Enqueue a Axios y app.js wp_enqueue_script( 'axios', get_template_directory_uri() . '/js/axios.js', array(), '0.9', true ); wp_enqueue_script( 'app', get_template_directory_uri() . '/js/app.js', array(), '1.0.0', true ); 2.- Pasar a nuestro script los datos de PHP. wp_localize_script( 'app', 'rest_url', array( 'url' => rest_url('/') ) ); 3.- Leer los Posts y enviar petición con Axios. (app.js) axios.get(`${ rest_url.url }wp/v2/posts`) .then(respuesta => { respuesta.data.map(post => console.log(post) ) }); 13
  • 14. No hay límites. Gracias a WP REST API es posible realizar proyectos que antes eran inimaginables en WordPress 14
  • 15. #WCGDL Gutenberg y JavaScript ▫ Permite crear un sitio web de forma visual por medio de bloques. ▫ Disponible a partir de la Versión 5 de WordPress ( se puede instalar como Plugin). ▫ JavaScript y React son las tecnologías más utilizadas para Gutenberg. ▫ Si vendes un Theme o Plugins lo ideal es que soporte Gutenberg. 15
  • 16. #WCGDL Cómo crear un bloque de Gutenberg En un Plugin (PHP) : <?php function mi_plugin_gutenberg_blocks() { wp_enqueue_script( 'ga-block', plugins_url('block.build.js', __FILE__), array( 'wp-blocks', 'wp-i18n', 'wp-element'), filemtime( plugin_dir_path( __FILE__ ) . 'block.build.js' ) ); } add_action('enqueue_block_editor_assets', ‘mi_plugin_gutenberg_blocks’); 16
  • 17. 17 Cómo crear un bloque de Gutenberg (JavaScript) // importamos elementos desde gutenberg const { registerBlockType } = wp.blocks; const { RichText } = wp.editor; registerBlockType('plugin/nombre_bloque', { title: 'Nombre del Bloque', // se mostrará en Gutenberg icon: 'icono', // dashicon category: 'formatting', // categoría de gutenberg attributes: {}, // los datos u objetos del bloque edit: () => { // lo que se verá en el Editor de Gutenberg }, save: () => { // Cuando se guarda el bloque (render a los attributes)   } });
  • 18. #WCGDL ¿Cuánto JavaScript debo saber? JavaScript Moderno (ES6+). ▫ Arrow Functions ▫ Template Literals ▫ Eventos ▫ Destructuring ▫ Modules ▫ Objetos y Classes ▫ Fetch API y Promises ▫ Async / Await ▫ React ▪ ReactDOM ▪ JSX ▪ State y setState ▪ Class y Functional Components ▪ Props 18