Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. WordPress
Code

Consejos finales para las mejores prácticas en el desarrollo de WordPress

by
Length:MediumLanguages:

Spanish (Español) translation by Claudia Márquez (you can also view the original English article)

Bienvenido a la última parte de esta serie. Si acaba de llegar, consulte nuestros dos artículos anteriores. Hasta ahora hemos cubierto los siguientes temas:

Consejos para mejores prácticas en el desarrollo de WordPress

  • Normas de codificación de WordPress
  • Evitar colisiones globales de espacios de nombres (prefijo y uso de clases)
  • Código de comentarios
  • Seguridad

Más consejos para las mejores prácticas en el desarrollo de WordPress

  • Forma correcta de agregar scripts y estilos (register, enqueue y localize)
  • Llamadas de Ajax
  • Filtros y acciones

En este artículo final, voy a hablar sobre tres cosas importantes que, si bien no afectan el funcionamiento del complemento, son esenciales si desea entregar un complemento de calidad.

1. Debugging (Depuración)

Lo primero que debe hacer al codificar un complemento es habilitar el modo de depuración como recomienda WordPress. De esa forma verás todos los errores, advertencias y problemas.

Para habilitar el modo de depuración simple en su wp-config.php

Una vez que vuelva a cargar el sitio, verá todas las advertencias y problemas junto con otros mensajes como notificaciones de funciones obsoletas de WordPress.  Si desea entregar un producto de calidad, asegúrese de que al usar su complemento con modo de depuración habilite o deshabilite el resultado de la misma manera (sin errores, advertencias o avisos).

Si, en cambio, desea guardar los errores en un archivo y no mostrarlos en el HTML, puede hacerlo agregando junto con WP_DEBUG las siguientes líneas.

Otra configuración de depuración que uso mucho para guardar todas las consultas de bases de datos en una matriz es la siguiente:

Usualmente utilizo todo esto (especialmente el último) con el complemento Debug Bar y la consola Debug Bar. Si no los conoce, vaya y tome una copia y comience a depurar sus complementos y temas.  Verás lo fácil que es hacerlo.

También puede consultar las listas de complementos que uso para el desarrollo en Wp Favs.

2. Documentación

Documentar cada aspecto de su complemento o tema hará que sus usuarios y su vida sean mucho más fáciles.  Podrán hacer que el complemento o el tema funcionen siguiendo una guía o un video, o una combinación de ambos, y ahorrarán mucho tiempo con tickets de soporte y correos electrónicos interminables. 

Recomiendo dividir toda la documentación en categorías o secciones que sean las más importantes: 

  • Instalación
  • Configuración
  • Uso rápido
  • Problemas comunes
  • Requisitos

Luego, dependiendo de su tema o complemento, puede agregar el resto de las secciones o categorías.  Si revisas la página de documentación de las invitaciones sociales de WordPress, verás a qué me refiero.

Si agregó filtros y ganchos como mencioné en el artículo anterior, es una buena idea crear una página de referencia Filtro / Acciones que explique lo que hacen.

Las pestañas de ayuda  (Help Tabs)

Las pestañas de ayuda  (Help Tabs) son otra forma de proporcionar ayuda a los usuarios directamente en su complemento, en lugar de redirigirlas a su sitio web. Normalmente se utilizan para proporcionar información sobre la pantalla que se usa en ese momento.

Por ejemplo, en uno de mis complementos llamado Social PopUP, utilizo una pestaña de ayuda para explicar los códigos cortos disponibles.

Si está utilizando una clase en su complemento y desea agregar la pestaña de ayuda a un tipo de publicación personalizado, puede hacer algo como:

Es muy importante que compruebe que la ID de pantalla actual coincida con su tipo de publicación personalizada o la pestaña de ayuda aparecerá en todas partes.

Si, en cambio, agregaste una página de opciones, podrías usar el código utilizado como ejemplo en el Codex.

En mi opinión, las pestañas de ayuda no son muy visibles para los usuarios, y la mayoría de ellas ni siquiera saben que existen, pero es una buena práctica incluir algunas líneas de ayuda dentro del plugin. 

3. Internacionalización

La internacionalización también conocida como i18n (hay 18 letras entre el i y el n) es la guinda del pastel de un plugin o tema.  Como ya sabes, WordPress es utilizado por personas de todo el mundo, por lo que, al momento de entregar un complemento o tema, debemos asegurarnos de que puedan traducirlo fácilmente a su idioma nativo. 

¿Cuál es la diferencia entre internacionalización y localización?

Primero, debemos aprender el significado de estas dos palabras también conocidas como i18n e i10n. La internacionalización se refiere al proceso de creación de un plugin o tema traducible, mientras que la localización es básicamente el acto de hacerlo.

¿Cómo maneja WordPress las traducciones?

WordPress usa la famosa librería gettext que explica en pocas palabras, podemos decir que funciona así:

  • Los desarrolladores envuelven cadenas traducibles en funciones especiales de gettext
  • Herramientas especiales analizan los archivos de código fuente y extraen las cadenas traducibles en archivos POT (Portable Objects Template) 
  • Los traductores traducen los archivos POT y el resultado es un archivo PO (archivo POT, pero con traducciones dentro)
  • Los archivos PO se compilan en archivos MO binarios, que proporcionan un acceso más rápido a las cadenas en tiempo de ejecución.

¿Cómo creamos cadenas traducibles?

Lo primero que debe hacer es decidir un dominio de texto que se utilizará para ajustar todas las traducciones de sus plugins o temas. El dominio de texto debe coincidir con su lista de complementos.

Hay varias formas de crear cadenas traducibles, dependiendo de si está creando variables, repitiendo algo, etc. Las funciones más comunes son __ () y _e (). Veamos algunos ejemplos a continuación:

Otra función genial que puedes usar es _n() que se usa para plurales. Esta función tiene 4 argumentos:

  • singular - la forma singular de la cuerda
  • plural - la forma plural de la cadena
  • count: el número de objetos, que determinará si se debe devolver el formulario en singular o en plural.
  • dominio de texto - El plugin text-domain

Volviendo a nuestro ejemplo anterior, con plurales se verá algo así como:

Si, por casualidad, necesita traducir cadenas en su JavaScript, puede pasar todas las cadenas usando la función wp_localize_script () que discutimos en el segundo artículo de esta serie.

Habilitando traducciones en nuestros complementos

Ya agregamos toda la cadena traducible alrededor de nuestro complemento y ahora es el momento de habilitarlo.  Para hacer eso simplemente debes:

Este fragmento de código intentará cargar desde la raíz de su complemento un archivo MO llamado my-text-domain- {locale} .mo. Dependiendo de su configuración de idioma en wp-config.php, la parte {locale} será reemplazada por su código de idioma. Por ejemplo, si mi wp-config.php está configurado como:

El archivo que se va a cargar es my-text-domain-es_ES.mo. Para los temas es bastante similar, solo necesita incluir en su functions.php lo siguiente:

La principal diferencia es que esta función buscará {locale}.mo en lugar de my_theme_textdomain- {locale} .mo como vimos en el ejemplo anterior.

Puede leer más sobre l18n en el Codex de WordPress.

Conclusión

Estamos al final de esta serie y espero que hayan disfrutado leyéndolo tanto como lo escribí. Como dije antes, escribí esta serie pensando en mis inicios como desarrollador. Traté de recopilar toda la información que considero importante para hacer un buen complemento, resumiendo a gran escala todo lo que ya se explicó en el Codex. Aunque probablemente me haya olvidado mucho, creo que es suficiente tener una base sólida.

Me encantaría verte compartir tus pensamientos, consejos e ideas para un desarrollo sólido en los comentarios.

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.