¿Cómo optimizar el código de un plugin en WordPress?
La creación de plugins para WordPress es una tarea apasionante que permite expandir las funcionalidades de un sitio web. Sin embargo, es crucial optimizar el rendimiento y la legibilidad del código, evitando redundancias y haciendo que el plugin sea adaptable a distintos entornos. A continuación, te mostramos cómo conseguirlo.
¿Cómo definir constantes para evitar funciones repetidas?
Una de las estrategias para optimizar tu plugin es evitar las funciones repetitivas. Esto se puede lograr definiendo constantes en lugar de variables o funciones repetidas. En PHP, la función define es muy útil. Por ejemplo:
define('PLZ_PATHS',plugin_dir_path(__FILE__));
Con la constante PLZ_PATHS, sustituimos la función plugin_dir_path en diversas partes del código, haciendo que su ejecución sea única y más eficiente.
¿Cómo hacer que las URLs sean dinámicas?
El manejo dinámico de URLs es fundamental para que el plugin funcione correctamente en diferentes sitios sin necesidad de modificar manualmente dichas direcciones. Al trabajar con JavaScript en WordPress, podemos hacer uso de wp_localize_script. Esta función es útil para pasar datos PHP a JavaScript:
Aquí estamos creando un objeto plz dentro de JavaScript que contiene la restUrl. Este método permite definir URLs de forma dinámica y específica para tu plugin.
¿Cómo hacer uso de Literal Strings en JavaScript?
Cuando estás manejando URLs en JavaScript, es recomendable usar literal strings, haciendo que el código sea más limpio y fácil de leer. Aquí un ejemplo:
const url =`${plz.restUrl}endpoint`;
Usar literal strings elimina la necesidad de concatenar cadenas con el símbolo +, y complementa el manejo adecuado de objetos en JavaScript.
¿Por qué y cómo usar roles dinámicos en el registro de usuarios?
Al registrar un usuario, es importante que el rol asignado sea el apropiado para cada caso. Por defecto, el rol no debería ser estático, como editor; es preferible un rol como cliente, mayormente restringido.
De esta forma, garantizamos que nuevos usuarios obtengan los permisos adecuados.
¿Cómo asegurar la correcta redirección de usuario después del login?
Una práctica recomendable es redirigir al usuario una vez que se haya logueado exitosamente. Para ello, podemos complementar el chequeo de respuestas obtenidas y realizar una redirección.
Así, aseguramos que el usuario termine en la página deseada tras autenticarse correctamente.
Con estos ajustes, no solo optimizas tu plugin a nivel de código y funcionalidad, sino que garantizas una experiencia consistente en distintos entornos. Sigue explorando y mejorando tus técnicas de desarrollo en WordPress para crear soluciones robustas y eficientes.
Optimización de Plugins en WordPress: Variables y URLs Dinámicas
Muy bueno el curso, lo único es que me genera ansiedad la lentitud de la computadora o grabación de la pantalla del profesor. Se ve muy lag que no permite ver con comodidad cada paso que realiza.
esta muy desfasado el video, me costo muy entender el curso, gracias a todos los compañeros por sus contribuciones sin ustedes no ubiera entendido nada.
Si bien la guarmos en texto plano desde la función, WordPress internamente la encripta para guardarla en la base de datos. Lo podes verificar en la Base de datos en la tabla wp_user
Profe por favor subir el repositorio al git/ colocar los cambios en recursos, ya que estan anteriores y no los últimos de que sean modificado. Por favor actualizar este curso.
fetch(`${plz.rest_url}/login`,{method:"POST",body: datosParse
}).then(res=> res.json()).then(json=>{//la parte donde no se logra ver la corrección del profeif(json ="false"){window.location.href=`${plz.home_url}`}else{ $msg.innerHTML= json?.msg
}}).catch(err=>{console.log(`Hay un error: ${err}`)})
WordPress 6.0 => Esto me dice la consola: Hay un error: SyntaxError: Unexpected end of JSON input
El usuario se loggea pero no redirecciona la ventana...
nose si a alguno le pasó, localmente me funcionó perfecto, pero al subirlo a un server en internet, al hacer el fetch me tira un error 500 de servidor. El mensaje de error por consola es:
SyntaxError: Unexpected token < in JSON at position 0
El video es bueno, pero falla al final en la imagen, dejo mi codigo de login.js es similar al que realizo el profe en la clase, el atributo usado para la redirección es window.location.href = ...
window.addEventListener("DOMContentLoaded",function(){let $form =document.querySelector("#signin");let $msg =document.querySelector(".msg"); $form.addEventListener("submit",function(e){ e.preventDefault();let datos =newFormData($form);let datosParse =newURLSearchParams(datos);fetch(`${plz.rest_url}/login`,{method:"POST",body: datosParse
}).then(res=>res.json()).then(json=>{console.log(json)if(json !==false){ $msg.innerHTML= json
}else{ $msg.innerHTML='<strong>Se ha loggeado correctamente 😎</strong>'window.location.href=`${plz.home_url}`}}).catch(err=>{console.log(`Hay un error: ${err}`)})})})